2

我有一个基于 C++ 的程序正在运行,我的问题是我想知道:

  • 调用次数最多的top10、top5、topX方法是什么
  • 什么是最重的计算类或哪些线程需要最大时钟周期

在 Linux 下可以使用类似或类似valgrind的工具来做到这一点吗?perf

我不应该说这个应用程序使用了许多第三方库,但我对那些不感兴趣,因为我想要修改和改进的是应用程序本身的核心,所以我可以将所有可能的方法列表缩减为实现的方法只有通过“实际应用”。

一般来说,如何检测导致分支和性能损失最大的类或方法是什么?

4

3 回答 3

2

您正在寻找探查器,例如gprof.

于 2012-12-15T18:42:29.017 回答
1

您正在搜索的程序称为分析器。它为您提供调用的方法列表以及它们使用的程序运行时间的百分比。如果你在 Linux 下,你可以使用 valgrind 之类的工具,在 Windows 上我个人使用 Very Sleepy。您还可以在此线程中查看 Linux 下的探查器列表: 线程

于 2012-12-15T18:43:56.810 回答
1

要计算函数的机器周期或调用深度,您可以使用 QUANTIFY 工具。

于 2012-12-15T19:36:03.923 回答