jmh测试只能在Hotspot上运行吗?

时间:2015-03-23 17:27:02

标签: java jvm jmh

如何设置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>

1 个答案:

答案 0 :(得分:3)

JMH依赖于非标准JVM设置来获得对VM的显式控制(请参阅具有-v EXTRA的确切命令行)。值得注意的是,-XX:CompileCommand用于强制编译器内联/不内联特定方法。这些非标准选项仅在基于HotSpot的JDK中可用。

虽然您可能会破解JMH与非HotSpot虚拟机的合作,但没有人会测试基准测试基础架构的关键部分是否可靠地运行。换句话说,您正在进入灰色区域,您必须在基准测试中寻求非HotSpot VM供应商的帮助(如果许可允许,可能需要对其JMH进行改造)。