如何设置 jmh 参数以便可以在不同的虚拟机上运行测试?
我尝试更改 -jvm //虚拟机的路径。
我收到此错误:
Error parsing command line:
'X' is not a recognized option
<forked VM failed with exit code 1>
<stdout last='20 lines'>
</stdout>
<stderr last='20 lines'>
Error parsing command line:
'X' is not a recognized option
</stderr>
Run Code Online (Sandbox Code Playgroud)
JMH 依靠非标准 JVM 设置来获得对 VM 的显式控制(请参阅带有 的确切命令行-v EXTRA)。值得注意的是,-XX:CompileCommand用于强制编译器内联/不内联特定方法。这些非标准选项仅在基于 HotSpot 的 JDK 中可用。
虽然您可以破解 JMH 来使用非 HotSpot 虚拟机,但没有人会测试基准基础设施的关键部分是否可靠运行。换句话说,您正在进入灰色区域,必须在基准测试中寻求非 HotSpot VM 供应商的帮助(如果许可证允许,还可能为其 VM 改造 JMH)。