Valgrind - callgrind Profiler:如何知道哪个函数需要更多时间
Posted
技术标签:
【中文标题】Valgrind - callgrind Profiler:如何知道哪个函数需要更多时间【英文标题】:Valgrind - callgrind Profiler : How to know which function is taking more time 【发布时间】:2015-10-30 11:07:22 【问题描述】:我正在尝试使用 valgrind - callgrind 工具分析某些可执行文件。
我使用callgrind_annotate --auto=yes
创建了带注释的输出。
创建的输出告诉我 Ir count ,根据我的理解,它是特定指令被调用的次数,但我想知道代码的哪一部分执行时间最长。
我怎么知道?
在我的应用程序中,我想找到花费更多时间的部分......可能某些情况下,某些函数被调用的时间比其他函数更多......但是被调用的时间更少的函数花费的时间更多时间比别人多
【问题讨论】:
use valgrind to know time(in seconds) spent in each function的可能重复 【参考方案1】:我建议您使用 UI KCachegrind。它使您更容易理解您的应用程序流程并检测可能的瓶颈。
【讨论】:
我还没有安装 KCachegrind ...但它的输出不会再次基于事件计数。kcachegrind
可以显示函数调用的使用时间吗?
它在哪里/如何显示它?
好久没用KCachegrind了。它曾经包含在 valgrind 中。尽管github.com/KDE/kcachegrind,他们的 github 存储库仍处于活动状态以上是关于Valgrind - callgrind Profiler:如何知道哪个函数需要更多时间的主要内容,如果未能解决你的问题,请参考以下文章
valgrind/callgrind 可以在发布的可执行 C++ 程序上工作吗?
valgrind / callgrind:什么是`_dl_runtime_resolve_xsave`