尝试使用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
答案 0 :(得分:2)
正如链接所示,问题是您必须安装反汇编程序插件。有几种实现方式。但是,出于自我审查和版权纳粹主义的原因,大多数实现的Windows二进制文件很难得到。可以找到其他信息in this SO question (in which I've updated the suggested build steps and won't repeat them here)。
您遇到的另一个问题是您必须以管理员身份运行配置文件会话。
有关配置perfasm的系统属性的其他信息,只能在AbstractPerfAsmProfiler
和WinPerfAsmProfiler
的源代码中找到(至少从版本1.9.2开始)。
一个可能有用的提示:您可以通过在任何管理员命令提示符下运行xperf-setprofint 1221 cached
,将xperf的采样频率从1KHz增加到8KHz(并具有更精确的计时信息)。