我使用的是JMH,一个OpenJDK微基准测试工具。构建过程创建microbenchmarks.jar
,我使用java -jar
调用并传递jar名称和JMH参数。
我想知道我们应该使用-server
选项运行基准测试吗?为什么?
换句话说,我应该用:
运行我的基准测试java -server -jar microbenchmarks.jar ...(jmh args)
答案 0 :(得分:8)
嗯,这取决于你想要衡量的是什么。在大多数情况下,计算机上的默认JVM模式就是复制普通Java应用程序将遇到的相同条件。
因此,我们通常不会将-server
添加到基准测试运行中,因为在大多数机器上,人体工程学本身会隐式选择它,请参阅Server Class Machine Detection。
答案 1 :(得分:3)
这完全取决于您想要进行基准测试 - 如果您想使用服务器JVM特性来衡量系统在运行面向服务器的工作负载时的行为方式,那么您应该使用该选项
另请参阅 - What is JVM -server parameter?,表示-server
开关也可以执行更好的JIT。