Java 11 究竟比 8 快了多少?


閱讀本文大概需要 1.2 分鐘。


作者:h4cd

來源:開源中國社區

開源規劃調度引擎 OptaPlanner 官網發佈了一個 Java 11 GC 性能基準測試報告。


當前使用量最大的 Java 版本是 8,所以測試者用 Java 8 與 Java 11 進行對比測試。

GC 是影響 Java 性能的關鍵因素,所以測試自然也基於 GC,在 G1 GC 和並行 GC 下分別進行了測試,結果如下:

Java 8 vs. Java 11

使用 G1 GC


G1 GC 下每秒分值:


Java 11 在幾乎所有測試數據集上都有速度上的提升。

平均而言,僅通過切換到 Java 11 就有 16% 的改進,這種改進可能是因爲 Java 10 中引入了 JEP 307: Parallel Full GC for G1。

使用並行 GC


並行 GC 下每秒分值:


使用並行 GC,結果不如 G1,某些數據集上有所改進,但其它數據集保持不變甚至出現性能下降。平均而言,Java 11 的性能提升了 4% 以上。

測試者還在 Java 11 上對並行 GC 與 G1 GC 進行對比:

Java 11 上並行 GC vs. G1 GC


結果表明 G1 GC 整體上不如並行 GC。

OptaPlanner 表示,從 Java 8 到 Java 11,G1 GC 的平均速度改進爲 16.1%,並行 GC 爲 4.5%。

此外雖然並行 GC 面向吞吐量,而 G1 則側重於低延遲 GC,但是 Java 11 中帶來的 G1 顯著改進,使得將兩者進行直接比較是有意義的。

此外,基於基準測試中的大多數數據集來看,並行 GC 還是更適合 OptaPlanner 的,因爲吞吐量對於解決 OptaPlanner 的優化問題更爲重要。


詳細測試基準與過程查看原文:

https://www.optaplanner.org/blog/2019/01/17/HowMuchFasterIsJava11.html



往期精彩回顧

每秒 570000 的寫入,如何實現?

這40張圖送給單身程序員,情人節請一笑而過!

IDEA一定要懂的32條快捷鍵

世上最污技術解讀,我竟然秒懂了。

Bing掛了!百度又“贏了”

遇到賣茶女,應該如何優雅的回覆她

我被程序員坑了600萬致公司倒閉,當事人逐條反駁:這鍋我不背

一千行MySQL詳細學習筆記(值得學習與收藏)

七點建議助您寫出優雅的Java代碼

歡迎關注我的公衆號「程序員的成長之路」,閱讀更多精彩!


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章