點選上方“芋道原始碼”,選擇“設為星標”
做積極的人,而不是積極廢人!
來源:
開源規劃排程引擎 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
歡迎加入我的知識星球,一起探討架構,交流原始碼。加入方式,長按下方二維碼噢:
已在知識星球更新原始碼解析如下:
如果你喜歡這篇文章,喜歡,轉發。 生活很美好,明天見(。・ω・。)ノ♡