Java性能測試:OpenJDK vs. GraalVM vs. Amazon Corretto
Phoronix 網站使用 Phoronix Test Suite 對比了在 OpenJDK 8/11、GraalVM 20 與 Amazon Corretto JVM 幾個 JVM 平臺中 Java 的基準性能。
Phoronix Test Suite 是一個全面的測試和基準測試平臺??捎糜?Linux、Solaris、macOS、Windows 和 BSD 系統(tǒng)的測試,套件內包含多種維度的測試組件。
GraalVM 是 Oracle 在 HotSpot/OpenJDK JVM/JDK 的基礎上開發(fā)的虛擬機,帶有其它附加功能;Amazon Corretto 是 Amazon 的多平臺 OpenJDK 發(fā)行版,與上游 OpenJDK 相比,包括額外的性能增強和安全修復。此次對比測試在 Ryzen 9 3950X 上的 Ubuntu 19.10 中進行,具體參數(shù)如下:
Java 2D 文本渲染測試中,GraalVM 20.0 性能最佳,尤其是 Java 8 構建版本,而 Corretto 的性能與 OpenJDK 8 和 11 相似。
在 SciMark Java 微基準測試中,OpenJDK 8 性能最佳,而 Corretto 8 和 GraalVM 20.0 都慢得多。
Java SciMark 的 Monte Carlo 測試中 GraalVM 20.0 大幅落后于其它幾個對比平臺??梢哉f,GraalVM 在 Java SciMark 測試中總體上非常慢。
用 Bork 進行基于 Java 的文件加密,GraalVM 表現(xiàn)最佳。
在 Java DaCapo Benchmark H2 子測試中 OpenJDK 14 最快,而 Corretto 11 的性能與 OpenJDK 11 相似。
在大多數(shù)情況下,Amazon Correto 的性能往往非常接近上游 OpenJDK。
在 Apache HBase 基準測試中,OpenJDK 8 和 GraalVM 20.0 Java 8 傾向于并列第一。
總結一下整個測試,從執(zhí)行的 32 個測試的幾何平均值來看,OpenJDK 8 上游實際上總體上表現(xiàn)最好,緊隨其后的是 GraalVM 20.0 Java8。而 Java 11 版本的 GraalVM 20.0 表現(xiàn)是最差的。Amazon Corretto 方面,版本 11 與上游的 OpenJDK 11 非常相似,但其 Java 8 實現(xiàn)與 Java 11 一樣表現(xiàn)不佳。
而如果只看測試中獲得第一的次數(shù),GraalVM 20.0 Java 8 的獲勝率最高(40.63%)。