我做了一个C语言程序。用来测试电脑预算速,这样合理吗,数据有参考价值吗
答案:2 悬赏:40 手机版
解决时间 2021-01-30 02:34
- 提问者网友:你挡着我发光了
- 2021-01-29 18:51
#include
#include
#include
main()
{
clock_t start,end;
printf("本程序用于计算您的计算机运算速度\n");
system("pause");
system("cls");
printf("整型数据运算测试......\n");
int dateint;
start=clock();
for(dateint=0;dateint<=100;dateint++)
printf("%d",dateint);
end=clock();
system("cls");
printf("整型数据计算时间(加法运算)(2)(毫秒):%d\n",end-start);
}
最佳答案
- 五星知识达人网友:旧脸谱
- 2021-01-29 19:04
可以参考但意义不大,首先循环中主要时间消耗在printf上,dateint++的时间消耗可以忽略不计了,而printf的效率直接和编译器相关,不同的编译器完全没有可比性。
其次,本程序是单线程运行,通常对于真双核cpu最高速度只有50%,显然不能反映电脑全速运算能力。
第三,整形加法和短循环只是电脑一个方面的指标,和其他能力比起来重要性不高,加一点cache对结果影响很大,但实际使用中却没有这么高的反映。
最后,电脑运行速度并不是一两个参数或者测试能反映的,如cpu频率,线宽,总线,cache,内存,分支预测等等。。专业跑分软件也只能尽可能多方面反映电脑性能。
当然,如果运行结果是同学电脑需要10秒而你的电脑只需要1秒,那么毫无疑问你的电脑更好
ps: clock()函数精度很低大概只有15ms,要提高精确度得用QueryPerformanceFrequency
全部回答
- 1楼网友:慢性怪人
- 2021-01-29 20:26
你好!
显然不合理,计算机的速度应该是一个整体的速度,涉及到I/O,CPU,内存存取等综合在一起的。而且你这里头有函数调用,就更不能表明计算机的速度了,你测出来的数值到底表示快还是满你也不知道。
仅代表个人观点,不喜勿喷,谢谢。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯