【发布时间】:2013-10-20 15:45:49
【问题描述】:
我需要测量一个 C++ 程序的运行时间,尤其是一些递归函数的整体运行时间。其他函数内部有很多函数调用。我的第一个想法是在实际代码中实现一些时间测量功能。
gprof 的问题在于,它打印出数据类型的类运算符的时间,但我只需要有关函数的信息,“-f func_name prog_name”不起作用。
那么,科学中测量数值程序时间的最常用方法是什么?
它是这样的:
function2()
{
}
function1()
{
function2();
funtcion1();
}
int main(){
function1();
}
【问题讨论】:
-
你这里的代码是一个无限递归。如果您可以通过“某些递归函数的总体运行时间”来定义您的意思,我会给您一个答案。例如:您的意思是如果函数 F 可以无限快,将节省的时间吗? Don't expect gprof to give you a sensible answer for recursive functions.
-
执行一个完整函数所花费的时间stackoverflow.com/a/40380118/6180077
标签: c++ gprof time-measurement