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

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

本文关键字:我的 函数 CPU 时间 测量 何测量      更新时间:2023-10-16

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

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

您想要做的称为分析,Linux上的gprof非常方便,请参阅http://www.ibm.com/developerworks/library/l-gnuprof.html。

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

gprof和callgrind这两个工具的简要描述可以在这里找到:http://kcachegrind.sourceforge.net/html/Introduction.html

您要查看clock() (man 3 clock)