我想知道某个函数在我的 C++ 程序中在 Linux 上执行需要多少时间。之后,我想做一个速度比较。我看到了几个时间函数,但最终从 boost 中得到了这个。计时:
process_user_cpu_clock, captures user-CPU time spent by the current process
现在,我不清楚如果我使用上面的函数,我会得到唯一的 CPU 花费在那个函数上的时间吗?
其次,我找不到任何使用上述功能的例子。有人可以帮我如何使用上述功能吗?
PS:现在,我正在使用 std::chrono::system_clock::now()
以秒为单位获取时间,但是由于每次 CPU 负载不同,这给了我不同的结果。
原文由 Xara 发布,翻译遵循 CC BY-SA 4.0 许可协议
这是 C++11 中非常易于使用的方法。您必须使用来自
std::chrono::high_resolution_clock
<chrono>
标头的 —。像这样使用它:
这将测量函数
long_operation
的持续时间。可能的输出:
工作示例: https ://godbolt.org/z/oe5cMd