time_start();
int op = 0;
for(int i = 1; i <= n; i++)
op += arr[i]*pow(x, i);
time_stop();
这是我想要测量的代码的一部分,time_start()和time_stop()函数只是在某处保存clock()输出,然后execution_time()返回差异,给出执行时间。
问题在于&lt; 50000,输出仅为0ms,或1ms。这是正确的输出吗?这可以更精确吗?
答案 0 :(得分:1)
您需要在运行时和定时器代码的分辨率之间有足够的“比例”,以获得准确且可测量的结果。最简单的解决方案是在被测试的一小段代码上迭代数百(或数千)次。
但是任何方法都有可能的缓存效果,所以请确保您正在测量您的实际想法。