我想通过读取路径上各个点的性能计数器来分析应用程序的关键路径。
我遇到了libperf
它提供了一个相当简洁的 C api。然而,上一次活动是在 3 年前。
我也知道PAPI
. 这正在积极开发中。
- 还有其他我应该注意的图书馆吗?
- 任何人都可以提供有关使用其中一种方法的任何见解吗?
- 任何将这些集成到应用程序代码中的教程/介绍?
我同时使用了 PAPI(在 Solaris 上)和 perf(在 Linux 上),发现记录整个程序运行并使用“perf-annotate”来查看关键路径的运行情况比只尝试测量要容易得多关键路径。这是一种不同的方法,但对我来说效果很好。
此外,正如评论中提到的那样,如果您基于 x86,则有 vTune。我自己从来没有用过。
然而,VTune 是专有的,如果你想要它可以达到目的。试试它的 30 天试用期。
perfmon 和 perfctr 可用于分析程序的某些部分,但必须包含在代码本身中。