【发布时间】:2015-04-17 17:35:19
【问题描述】:
我正在使用 clock() 计算方法的时间,它给了我相同方法的不同值。
为什么结果会这样?
for(int i=0;i<10;i++){
start = clock();
x=FindPrimeNumber(900);
end = clock();
cout << end <<" "<< start <<endl;
}
我使用 #pragma optimize( "", off ) 禁用 JIT 优化 同样的事情
时间:258 时间:255 时间:253 时间:253 时间:251 时间:253 时间:251 时间:254 时间:253 时间:252
第二个问题,我们如何只计算诸如clock()之类的方法的cpu时间,而只计算cpu时间?
windows 的量子值是多少? (比如 40 微秒) 一个quantum就是其他进程可以在cpu上运行的时间?
谢谢大家。
【问题讨论】:
-
您是在实时操作系统上运行它吗?不?那么操作系统将改变您的程序运行的时间和地点等。也许您的程序有时会因重要的操作系统内容而中断。无论哪种方式,每次都可以相同。
-
他们相差不大。您是否期望它们每次都打印出完全相同的 same 值?
-
因为你的程序并不是唯一执行的进程。
-
在我看来只是简单的误差范围,这与您必须在科学课程中多次重复测试的原因相同。
标签: c++ c time operating-system