繁体   English   中英

如何测量我的函数的时间,只有我的函数在使用 CPU

[英]How do I measure the time my function, and only my function is using the CPU

我在 ubuntu 上使用 GCC,我想要一个函数来测量我的函数使用 CPU 的时间。 我不想包括 CPU 在后台进程上花费的时间。

例如,如果我的函数使用 CPU 10 毫秒,那么处理器处理一些其他数据 20 毫秒,然后继续处理我的函数 8 毫秒。 我希望它返回 18 毫秒,而不是 38 毫秒。我不介意结果是否以 CPU 滴答为单位。

您想要做的是在 Linux 上进行分析,而gprof对此非常方便,请参阅http://www.ibm.com/developerworks/library/l-gnuprof.html

除了 Baris Demiray 的回答,我个人可以推荐 valgrind 工具集的 callgrind 工具(以及任何其他工具)。 这与 kcachegrind/qcachegrind 结合使用特别有用,kcachegrind/qcachegrind 应该可以通过 ubuntu 存储库获得。

可以在此处找到 gprof 和 callgrind 这两个工具的简要说明: http ://kcachegrind.sourceforge.net/html/Introduction.html

你想看看clock()man 3 clock )。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM