我对用C/C++编写的代码中的一些函数调用的速度测试很感兴趣。我搜索并指导我使用Valgrind平台和Callgrind工具。
我已经简单地阅读了manual,但我仍然想知道如何利用该工具的功能来评估我的函数运行速度的时间。
我想知道我是否能得到一些如何实现我的目标的建议。
任何帮助都将不胜感激。
发布于 2014-11-04 17:52:08
使用调试符号编译您的程序(例如,GDB symbols运行良好,使用"-ggdb“标志激活)。
如果你像这样执行你的程序:
./program然后在Valgrind+Callgrind中使用以下命令运行它:
valgrind --tool=callgrind ./program然后,Callgrind将生成一个名为callgrind.out.1234的文件(1234是进程ID,在运行时可能会有所不同)。使用以下命令打开此文件:
cg_annotate callgrind.out.1234您可能希望使用grep来提取您的函数名。在左栏中显示用于该功能的指令数量。但是,使用相对较少指令量的函数将被忽略。
如果你想看到一些漂亮的图形输出,我建议你安装KCachegrind。
https://stackoverflow.com/questions/26722726
复制相似问题