如何测量我的功能时间,只有我的功能是使用CPU

时间:2015-08-28 13:08:56

标签: c++ benchmarking

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

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

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

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

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

答案 2 :(得分:-2)

您想查看clock()man 3 clock)。