有没有一种工具可以检查两个callgrind/valgrind配置文件之间的差异?

21

我试图理解程序在不同选项下的性能变化,我有一个1.8的因素需要解释。我一直在使用[valgrind]的callgrind工具进行分析,并使用Kcachegrind来可视化结果。 但我真的很想看到差异。我找到了cg_diff程序,但它不适用于callgrind档案,只适用于成本过高的cachegrind档案。 有人知道可以将两个档案区别进行可视化的工具吗?


哎呀,诺曼,我们以前就遇到过这种情况 :) 让我们看看,1/1.8 = 56%,因此如果您对每个样本堆栈取大约10个样本,在大约44%+/-的慢样本中,您将会看到一行或几行代码,在快速样本中很少见。如果不起作用,请告诉我。 - Mike Dunlavey
我使用的是Windows系统,而不是Linux,但如果这些程序是用C或C++编写的,请将文件压缩并发送给我,我很乐意进行演示。谢谢。 - Mike Dunlavey
哇,你真的很厉害。即便如此,它也有一个可以显示堆栈跟踪的调试器。像大多数半成品系统一样,它们不会告诉你如何中断它。尽管如此,你可能可以通过 Ctrl-C 或其他方式来中断它。此外,pstacklsstack 也可能有效。我知道这有点偏离你最初的问题,但这是我能提供的最直接的帮助。获取堆栈样本。祝你好运。 - Mike Dunlavey
我忘了提到 Zoom,它是一个针对已编译代码的 Linux 堆栈采样器。可能不适用于 OCaml,因为它们所谓的“编译”似乎是“生成字节码”。(我对 Zoom 的唯一小批评是 a)它需要花钱,b)他们属于需要大量采样数据的团队。) - Mike Dunlavey
我刚刚在Windows上安装了OCaml。如果你愿意把文件压缩一下发给我,我可以试试看。 - Mike Dunlavey
显示剩余2条评论
1个回答

1

对于cachegrind的结果,有一个工具叫做cg_diff。但是没有针对callgrind的工具。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接