如何使用perfasm / xperfasm / WinPerfAsmProfiler

时间:2015-05-23 18:36:39

标签: java microbenchmark jmh

尝试使用WinPerfAsmProfiler在Windows上运行JMH基准测试会出现以下错误:

ERROR: No address lines detected in assembly capture, make sure your JDK is PrintAssembly-enabled:
    https://wikis.oracle.com/display/HotSpotInternals/PrintAssembly

1 个答案:

答案 0 :(得分:2)

正如链接所示,问题是您必须安装反汇编程序插件。有几种实现方式。但是,出于自我审查和版权纳粹主义的原因,大多数实现的Windows二进制文件很难得到。可以找到其他信息in this SO question (in which I've updated the suggested build steps and won't repeat them here)

您遇到的另一个问题是您必须以管理员身份运行配置文件会话。

有关配置perfasm的系统属性的其他信息,只能在AbstractPerfAsmProfilerWinPerfAsmProfiler的源代码中找到(至少从版本1.9.2开始)。

一个可能有用的提示:您可以通过在任何管理员命令提示符下运行xperf-setprofint 1221 cached,将xperf的采样频率从1KHz增加到8KHz(并具有更精确的计时信息)。