Callgrind:如何使用Callgrind工具来评估函数速度

时间:2014-11-03 20:35:02

标签: c++ valgrind callgrind

我感兴趣的是用C / C ++编写的代码测试一些函数调用的速度。我搜索过,并被指示使用Valgrind平台和Callgrind工具。

我已经简要阅读了manual,但我仍然想知道如何利用该工具的功能来评估我的函数运行时速度。

我想知道我能不能指出如何实现目标。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:2)

使用调试符号编译程序(例如,GDB符号工作正常,使用“-ggdb”标志激活)。

如果你正在执行这样的程序:

./program

然后使用Valgrind + Callgrind使用以下命令运行它:

valgrind --tool=callgrind ./program

然后,Callgrind将生成一个名为callgrind.out.1234的文件(1234是进程ID,运行时可能会有所不同)。使用以下命令打开此文件:

cg_annotate callgrind.out.1234

您可能希望使用grep来提取函数名称。在左列中,显示用于该功能的指令数。但是,使用相对较少量指令的函数将被忽略。

如果你想看到输出一些漂亮的图形,我建议你安装KCachegrind。