那也就是单位时间内某种运算执行的次数
或者执行指定次数的运算看用了多少时间的问题吧?
执行前定义一个变量记录开始时间,然后执行,
执行完成再获取时间,
得到两个时间的差就OK了。
能否将这个帮我变成程序?谢谢
这个一般不能做到。
一般的C语言编译器会限制程序的资源使用量(如CPU不超过40%),超过设定时,编译出来的程序会提示“未响应”而停止工作,不会造成电脑满负荷工作的情况。
实现满负荷工作可以用一些拷机软件,比如Super PI,来测试处理器的性能。
但对于时间的记录,可以运用<time.h>的函数来实现,用法如下:
start =time(NULL);//or time(&start);
//计时中
end =time(NULL);
printf("time=%d\n",difftime(end,start));
这里的输出单位为秒。如要精确到毫秒的计时,可以调用clock():
start = clock();
//计时中
end = clock();
printf("time=%f\n",(double)end-start)/CLK_TCK);
这里end和start得到的是计算机时钟的tick数,换算成毫秒需要除以常数CLK_TCK,换算成秒除以常数CLK_TCKCLOCKS_PER_SEC。
温馨提示:答案为网友推荐,仅供参考
第1个回答 2013-03-21
有现成的程序叫做Super PI
Super PI是利用CPU的浮点运算能力计算π(圆周率),目前普遍用做测试系统稳定性和测试CPU计算特定位数圆周率所需的时间。
Super PI是利用CPU的浮点运算能力计算π(圆周率),目前普遍用做测试系统稳定性和测试CPU计算特定位数圆周率所需的时间。
第2个回答 推荐于2017-09-08
#include "time.h"
#include "stddef.h"
#include "stdio.h"
int main()
{
time_t str,end;
long unsigned int t;
str=time(NULL);
for(t=0;t<500000000;t++)//循环次数尽量大,不然时间差太小看不到,我设的5亿次才看到
;
end=time(NULL);
printf("执行5亿次空循环需要%lf秒的时间。\n",difftime(end,str));
}
结果:
本回答被提问者采纳