Categories
科技報導

性能測試: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 系統的測試,套件內包含多種維度的測試組件。

GraalVM 是 Oracle 在 HotSpot/OpenJDK JVM/JDK 的基礎上開發的虛擬機,帶有其它附加功能;Amazon Corretto 是 Amazon 的多平台 OpenJDK 發行版,與上游 OpenJDK 相比,包括額外的性能增強和安全修復。此次對比測試在 Ryzen 9 3950X 上的 Ubuntu 19.10 中進行,具體參數如下:

性能測試:OpenJDK vs. GraalVM vs. Amazon Corretto 1

Java 2D 文本渲染測試中,GraalVM 20.0 性能最佳,尤其是 Java 8 構建版本,而 Corretto 的性能與 OpenJDK 8 和 11  相似。

性能測試:OpenJDK vs. GraalVM vs. Amazon Corretto 2

在 SciMark Java 微基準測試中,OpenJDK 8 性能最佳,而 Corretto 8 和 GraalVM 20.0 都慢得多。

性能測試:OpenJDK vs. GraalVM vs. Amazon Corretto 3

Java SciMark 的 Monte Carlo 測試中 GraalVM 20.0 大幅落後於其它幾個對比平台。可以說,GraalVM 在 Java SciMark 測試中總體上非常慢。

性能測試:OpenJDK vs. GraalVM vs. Amazon Corretto 4

用 Bork 進行基於 Java 的文件加密,GraalVM 表現最佳。

性能測試:OpenJDK vs. GraalVM vs. Amazon Corretto 5

在 Java DaCapo Benchmark H2 子測試中 OpenJDK 14 最快,而 Corretto 11 的性能與 OpenJDK 11 相似。

性能測試:OpenJDK vs. GraalVM vs. Amazon Corretto 6

在大多數情況下,Amazon Correto 的性能往往非常接近上游 OpenJDK。

性能測試:OpenJDK vs. GraalVM vs. Amazon Corretto 7

性能測試:OpenJDK vs. GraalVM vs. Amazon Corretto 8

性能測試:OpenJDK vs. GraalVM vs. Amazon Corretto 9

在 Apache HBase 基準測試中,OpenJDK 8 和 GraalVM 20.0 Java 8 傾向於並列第一。

性能測試:OpenJDK vs. GraalVM vs. Amazon Corretto 10

性能測試:OpenJDK vs. GraalVM vs. Amazon Corretto 11

性能測試:OpenJDK vs. GraalVM vs. Amazon Corretto 12

性能測試:OpenJDK vs. GraalVM vs. Amazon Corretto 13

完整的測試過程與數據查看:

https://www.phoronix.com/scan.php?page=article&item=openjdk-corretto-graalvm

總結一下整個測試,從執行的 32 個測試的幾何平均值來看,OpenJDK 8 上游實際上總體上表現最好,緊隨其後的是 GraalVM 20.0 Java8。而 Java 11 版本的 GraalVM 20.0 表現是最差的。 Amazon Corretto 方面,版本 11 與上游的 OpenJDK 11 非常相似,但其 Java 8 實現與 Java 11 一樣表現不佳。

性能測試:OpenJDK vs. GraalVM vs. Amazon Corretto 14

而如果只看測試中獲得第一的次數,GraalVM 20.0 Java 8 的獲勝率最高(40.63%)。

性能測試:OpenJDK vs. GraalVM vs. Amazon Corretto 15