rarvesa_vga
rarvesa_vga.rar
/* testsum.c: Program to time assembler vs. C implementations of
* array summation code.
* Copyright (C) 1991 by Nicholas Wilt. All rights reserved.
*/
#include "testfpu.h"
int
main(int argc, char *argv[])
{
struct time beg, end;
double x;
int y;
double ret;
long i;
int j;
long dead, slow, fast;
long numreps;
float *summe;
int arrsize;
if (argc != 3) {
fprintf(stderr, "Usage: testsum #iters #elems\n");
fprintf(stderr, "\t#iters = number of iterations of test\n");
fprintf(stderr, "\t#elems = number of elements in arrays\n");
exit(1);
}
else {
char *sc;
numreps = strtol(argv[1], &sc, 10);
arrsize = atoi(argv[2]);
}
summe = (float *) malloc(arrsize * sizeof(float));
for (i = 0; i < arrsize; i++)
summe[i] = (double) rand() / (RAND_MAX / 2);
printf("Calculating dead time...");
gettime(&beg);
for (i = 0; i < numreps; i++)
;
gettime(&end);
dead = diff_time(&beg, &end);
printf("%.2f seconds\n", (float) dead/100);
printf("Timing inline summation...");
gettime(&beg);
for (i = 0; i < numreps; i++) {
double ret = 0;
int j;
for (j = 0; j < arrsize; j++)
ret += summe[j];
}
gettime(&end);
slow = diff_time(&beg, &end);
printf("%.2f seconds\n", (float) slow/100);
printf("Timing sumarray()...");
gettime(&beg);
for (i = 0; i < numreps; i++) {
ret = sumarray(summe, arrsize);
}
gettime(&end);
fast = diff_time(&beg, &end);
printf("%.2f seconds\n", (float) fast/100);
printf("sumarray() %d%% faster than inline code to do summation\n", percent_diff(dead, fast, slow));
free(summe);
return 0;
}
非常好我支持^.^
(4) 100%
不好我反对
(0) 0%
下载地址
rarvesa_vga下载
相关电子资料下载
- pic单片机汇编程序实例 297
- 汇编指令是什么 计算机语言汇编指令简介 130
- 汇编代码是什么意思 121
- u-boot在汇编启动阶段的相关操作介绍 127
- 什么是C语言?单片机有什么特点?为什么要用C语言编程? 320
- 一文认识ARM汇编指令和体系架构 412
- C程序的完整编译过程 324
- KEIL软件的详细分析 213
- armasm编译汇编代码链接失败的问题分析 184
- 看完这篇文章,汇编也不难 325