是否有工具可以检查两个 callgrind/valgrind 配置文件的差异?
Posted
技术标签:
【中文标题】是否有工具可以检查两个 callgrind/valgrind 配置文件的差异?【英文标题】:Is there a tool to examine the difference of two callgrind/valgrind profiles? 【发布时间】:2011-10-03 21:27:36 【问题描述】:我试图了解在使用不同选项运行时程序的性能如何变化——我想解释一下 1.8 的因数。我一直在使用 [valgrind] 的 callgrind
工具进行分析,并使用 kcachegrind 来可视化结果。
但我真的很想看看差异。我找到了cg_diff
程序,但它不适用于 callgrind 配置文件,只能用于 cachegrind 配置文件,这对我来说太贵了,无法收集。
有人知道用于可视化两个配置文件之间差异的工具吗?
【问题讨论】:
天哪,诺曼,我们以前来过这里 :) 让我们看看,1/1.8 = 56%,所以如果你每个取大约 10 个堆栈样本,大约 44%+/-慢的样本,你会看到一或几行代码,你在快的样本上看不到这么多。如果它不起作用,请告诉我。 具体来说,显示解释的样本数应该是二项分布,均值 = 10*.44 = 4.4,标准差 = sqrt(10 * .44 * .56) = 1.6,很可能在 3 到 6 个样本之间:-) 我在 Windows 上,不是在 linux 上,但如果程序是 C 或 C++ 的,请将文件压缩到我这里,我很乐意演示。干杯。 @Mike:我被困在贫民区:Objective Caml。我会为堆栈采样分析器而杀。 哇,你真的是。即便如此,它是got a debugger 可以显示堆栈跟踪。像大多数半生不熟的系统一样,它们不会告诉您如何中断它。不过,您也许可以通过 Ctrl-C 或其他方式。 pstack 或 lsstack 也可能有效。我知道这有点偏离你原来的问题,但那是我做的直线。获取他们的堆栈样本。祝你好运。 【参考方案1】:cachegrind 的结果有一个工具,cg_diff。但是没有用于 callgrind 的工具。
【讨论】:
以上是关于是否有工具可以检查两个 callgrind/valgrind 配置文件的差异?的主要内容,如果未能解决你的问题,请参考以下文章