首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Callgrind:如何使用Callgrind工具评估函数速度

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

Stack Overflow用户
提问于 2014-11-04 04:35:02
回答 1查看 1.1K关注 0票数 1

我对用C/C++编写的代码中的一些函数调用的速度测试很感兴趣。我搜索并指导我使用Valgrind平台和Callgrind工具。

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

我想知道我是否能得到一些如何实现我的目标的建议。

任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2014-11-04 17:52:08

使用调试符号编译您的程序(例如,GDB symbols运行良好,使用"-ggdb“标志激活)。

如果你像这样执行你的程序:

代码语言:javascript
复制
./program

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

代码语言:javascript
复制
valgrind --tool=callgrind ./program

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

代码语言:javascript
复制
cg_annotate callgrind.out.1234

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

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26722726

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档