8

我希望能够看到我的应用程序中的每个线程使用 callgrind 有多“昂贵”。我配置了一个选项,该--separate-thread=yes选项为您提供整个应用程序的 callgrind 文件,然后为每个线程提供一个。

这对于查看任何给定线程的配置文件很有用,但我真正想要的只是每个线程的 CPU 时间排序列表,这样我就可以看到哪些线程是最大的猪。

4

2 回答 2

4

Valgrind/Callgrind 不允许这种行为。kcachegrind 都没有,但我认为这将是一个很好的改进。也许可以在他们的邮件列表中找到一些答案。

一种可行但非常无聊的方法可能是使用 option --separate-thread=no,并更新您的代码以为每个线程使用不同的函数名或类名。根据您的代码复杂性,它可能是答案(使用 1computeData()、2computeData()、..)

于 2010-07-21T11:42:39.980 回答
-2

只需同时在 kcachegrind 中打开多个配置文件。

于 2014-11-06T01:19:00.457 回答