JDK 14 性能提升,但 JDK 8 仍是最強王者!


JDK 14 性能提升,但 JDK 8 仍是最強王者!

作者:局長 oschina.net/news/114247/openjdk-14-n-8-benchmark

OpenJDK 14 與 OpenJDK 8 及多個主要版本的性能基準測試對比

OpenJDK 14 已於近日 GA,其在性能方面是否有改進、以及有哪些改進引起了不少開發者的關注。本文將會介紹通過運行新的基準測試以考察從 OpenJDK 8 至 14 的所有主要發行版本,同時考察跨多個工作負載的 JVM 性能,以及 OpenJDK 14 與 JVM 先前版本相比性能如何。

此次測試通過在被測試的每個發行版上使用相同的 Java 字節碼編譯的 Java 程序來查看 JVM 的性能,並使用被測軟件包的參考/上游編譯版本。為了保證測試受干擾的因素將降至最低,每次都使用相同的選項,除了交換用於測試每個發行版的 OpenJDK x86_64 Linux 構建之外,沒有進行任何其他更改。

通過使用 Phoronix 的測試套件,測試內容包含從 SPECjbb 到 Java 2D 工作負載。

JDK 14 性能提升,但 JDK 8 仍是最強王者!


測試環境以及測試機器配置:

JDK 14 性能提升,但 JDK 8 仍是最強王者!


首先通過使用 Java 2D 基準測試對 Java 圖形管道的性能進行壓測,可以看到文本渲染性能一直穩步提升,直到第 12 版達到最高點,然後逐漸下降為目前 13 和 14 的水平,與 OpenJDK 8 比較相似。

JDK 14 性能提升,但 JDK 8 仍是最強王者!


而在 Java 2D 的圖像渲染性能方面,它們的水平基本保持一致,但是 OpenJDK 14 以微弱的的性能優勢成為了最好性能的那個。

JDK 14 性能提升,但 JDK 8 仍是最強王者!


這裡還測試了使用矢量圖形的渲染效果,水平基本保持一致。

JDK 14 性能提升,但 JDK 8 仍是最強王者!


通過進行非常基本的 Java SciMark 微基準測試,可以看到 OpenJDK 8 目前為止是最快的,並且自 OpenJDK 9 至 14 以來,性能基本上持平。OpenJDK 的運行速度約為 OpenJDK 8 的 88%。

JDK 14 性能提升,但 JDK 8 仍是最強王者!


通過使用 Java Bork 文件加密軟件包進行測試,在經過測試的版本中,性能基本上沒有變化。

JDK 14 性能提升,但 JDK 8 仍是最強王者!


自 OpenJDK 8 以來,DaCapo 的 H2 基準被建模為類似於 JDBCbench 的內存中(in-memory)基準,其性能得到了很好的提升,與此前的版本相比,OpenJDK 14 再次以微弱的優勢獲得了第一名。

JDK 14 性能提升,但 JDK 8 仍是最強王者!


可以看到,基於 Python Pybench 的 Jython 基準測試也是 OpenJDK 8 擁有最佳成績的眾多案例之一。推薦閱讀:Java 8 Stream,性能也牛逼麼?

JDK 14 性能提升,但 JDK 8 仍是最強王者!


在運行 Daytrader 基準測試的 Tradebeans 測試中,OpenJDK 14 再度以微弱的優勢拿下最佳的成績。

JDK 14 性能提升,但 JDK 8 仍是最強王者!


就像打乒乓球一樣,Renaissance 的 Scala Dotty 基準測試提供了一個類似的例子,說明 OpenJDK 的性能也會上下波動。在此次測試中,OpenJDK 14 又比最近的版本好一些。

JDK 14 性能提升,但 JDK 8 仍是最強王者!


在其他一些 Renaissance 基準測試中,OpenJDK 11〜12 的性能反而最差,而 OpenJDK 14 提供的性能與 OpenJDK 8 類似。

JDK 14 性能提升,但 JDK 8 仍是最強王者!


JDK 14 性能提升,但 JDK 8 仍是最強王者!


在使用 Jenetics+Futures 遺傳算法的 Renaissance 基準測試中,所有版本的性能基本保持一致。Java 14 令人期待的 5 大新特性,推薦大家看下。

JDK 14 性能提升,但 JDK 8 仍是最強王者!


通過觀察使用 Apache HBase 進行的這幾個基準測試,可以發現 OpenJDK 8 運行最快,或者這幾個 Java 版本的性能基本持平。

JDK 14 性能提升,但 JDK 8 仍是最強王者!


JDK 14 性能提升,但 JDK 8 仍是最強王者!


JDK 14 性能提升,但 JDK 8 仍是最強王者!


JDK 14 性能提升,但 JDK 8 仍是最強王者!


在使用 SPECjbb 進行的基準測試中 ,OpenJDK 8 是迄今為止最快且明顯拉開距離的版本。自版本 11 起,OpenJDK 的 SPECjbb 性能有所提高,不過在運行 Ubuntu Linux 的 AMD Ryzen 9 3950X 系統上,任何版本的速度均未達到 OpenJDK 8 的速度。

JDK 14 性能提升,但 JDK 8 仍是最強王者!


JDK 14 性能提升,但 JDK 8 仍是最強王者!


結論:

當對所有執行的 Java 基準測試結果取幾何平均值時,OpenJDK 8 毫無疑問是最快的 Java 版本。業界經常聽到有關 OpenJDK 8 仍可提供最佳性能的消息,以及為什麼英特爾的 Clear Linux 在有眾多選擇的情況下仍堅持該版本的原因。從本文的測試結果來看,這不足為奇。

好消息是,從這種幾何意義上來看,OpenJDK 14 是經過測試的發行版中第二快的版本。與之前的版本相比,其領先優勢雖然很小,但整體來看畢竟是在保持進步。

JDK 14 性能提升,但 JDK 8 仍是最強王者!


分享到:


相關文章: