是否有工具可以检查两个 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 或其他方式。 pstacklsstack 也可能有效。我知道这有点偏离你原来的问题,但那是我做的直线。获取他们的堆栈样本。祝你好运。 【参考方案1】:

cachegrind 的结果有一个工具,cg_diff。但是没有用于 callgrind 的工具。

【讨论】:

以上是关于是否有工具可以检查两个 callgrind/valgrind 配置文件的差异?的主要内容,如果未能解决你的问题,请参考以下文章

是否可以在一次条件检查中为两个变量编写条件检查

是否可以使用批处理文件检查两个文件是否共享相同的名称?

检查两个 Django 查询集是不是有任何共同的项目

是否可以使用 VImage 检查两个捕获的帧之间的差异?

有啥简单的方法可以检查两个数字是不是有不同的符号?

是否有与 .net 4.5 一起使用的类似于 hawkeye 的 UI 检查器工具?