测量短执行时间

时间:2013-04-06 14:55:09

标签: c

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。这是正确的输出吗?这可以更精确吗?

1 个答案:

答案 0 :(得分:1)

您需要在运行时和定时器代码的分辨率之间有足够的“比例”,以获得准确且可测量的结果。最简单的解决方案是在被测试的一小段代码上迭代数百(或数千)次。

但是任何方法都有可能的缓存效果,所以请确保您正在测量您的实际想法。