如何使用 Kcachegrind 理解 callgrind 的输出

Posted

技术标签:

【中文标题】如何使用 Kcachegrind 理解 callgrind 的输出【英文标题】:How to understand the output of callgrind using Kcachegrind 【发布时间】:2011-12-30 04:10:18 【问题描述】:

在分析日志时,Kcachegrind 显示 %of inclusive 为 13.92%。不应该像FAQ Q:1中提到的那样接近100%吗?

这是个人资料日志的截图

【问题讨论】:

【参考方案1】:

不一定。

main 不是程序的“真正”入口点,前后有很多事情要做,例如加载/卸载 DLL 和全局变量(动态初始化的)的构造/销毁。

这些事情需要时间,虽然通常可以忽略不计。

请注意,callgrind 的标志允许在函数开始时开始收集统计信息(例如 main),具体取决于您真正感兴趣的内容。

【讨论】:

以上是关于如何使用 Kcachegrind 理解 callgrind 的输出的主要内容,如果未能解决你的问题,请参考以下文章

如何回到 kcachegrind 的起点?

如何聚合热点(分析器)结果并在 kcachegrind 中查看

如何使用 KCachegrind 和 Callgrind 仅测量我的部分代码?

kcachegrind:如何绘制完整的调用图?

在 kcachegrind 中显示调用树

在kcachegrind中显示调用树