Phoronix网站使用PhoronixTestSuite对比了在OpenJDK8/11、GraalVM20与AmazonCorrettoJVM几个JVM平台中Java的基准性能。
PhoronixTestSuite是一个全面的测试和基准测试平台。可用于Linux、Solaris、macOS、Windows和BSD系统的测试,套件内包含多种维度的测试组件。
GraalVM是Oracle在HotSpot/OpenJDKJVM/JDK的基础上开发的虚拟机,带有其它附加功能;AmazonCorretto是Amazon的多平台OpenJDK发行版,与上游OpenJDK相比,包括额外的性能增强和安全修复。此次对比测试在RyzenX上的Ubuntu19.10中进行,具体参数如下:
Java2D文本渲染测试中,GraalVM20.0性能最佳,尤其是Java8构建版本,而Corretto的性能与OpenJDK8和11相似。
在SciMarkJava微基准测试中,OpenJDK8性能最佳,而Corretto8和GraalVM20.0都慢得多。
JavaSciMark的MonteCarlo测试中GraalVM20.0大幅落后于其它几个对比平台。可以说,GraalVM在JavaSciMark测试中总体上非常慢。
用Bork进行基于Java的文件加密,GraalVM表现最佳。
在JavaDaCapoBenchmarkH2子测试中OpenJDK14最快,而Corretto11的性能与OpenJDK11相似。
在大多数情况下,AmazonCorreto的性能往往非常接近上游OpenJDK。
在ApacheHBase基准测试中,OpenJDK8和GraalVM20.0Java8倾向于并列第一。
总结一下整个测试,从执行的32个测试的几何平均值来看,OpenJDK8上游实际上总体上表现最好,紧随其后的是GraalVM20.0Java8。而Java11版本的GraalVM20.0表现是最差的。AmazonCorretto方面,版本11与上游的OpenJDK11非常相似,但其Java8实现与Java11一样表现不佳。
而如果只看测试中获得第一的次数,GraalVM20.0Java8的获胜率最高(40.63%)。