c++ - 根据时钟滴答测量算法运行时间

标签 c++ performance algorithm

我使用以下代码片段根据时钟滴答测量我的算法运行时间:

clock_t t;
t = clock();
//run algorithm
t = clock() - t;
printf ("It took me %d clicks (%f seconds).\n",t,((float)t)/CLOCKS_PER_SEC);

但是,当输入尺寸较小时,这将返回 0。这怎么可能?

最佳答案

时钟具有一定的粒度,具体取决于多种因素,例如您的操作系统。

因此,您的算法可能运行得太快以至于时钟没有时间更新。因此测量持续时间为 0。

您可以尝试运行您的算法 n 次并将测量的时间除以 n 以更好地了解小输入所花费的时间。

关于c++ - 根据时钟滴答测量算法运行时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26959961/

相关文章:

javascript - 使用输入搜索时如何保存上次搜索?

python - 列表索引效率(python 2 vs python 3)

string - 翻转算法

c++ - C++ 中的 IPv6 连接测试

C++ pthreads - 使用我在 C 中使用的代码给我一个转换错误

c++ - 如果右值没有绑定(bind)到 const 引用,这将如何影响移动语义和完美转发?

c++ - #define 的匹配列表到一个模式

javascript - ctx.lines() 在 Mac 上最多需要 8.7 秒,但在任何其他浏览器中不到 1 毫秒

MongoDB:调用 Count() 与跟踪集合中的计数

algorithm - 大O,您如何计算/近似?