自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Java 17 快了多少?JDK 17、16 和 11 的性能比較和分析

開發(fā) 后端
Java 17 日前正式發(fā)布,新版本提供了不少新特性和功能增強(qiáng)。不過對(duì)于大多數(shù)項(xiàng)目而言,往往需要更改代碼才能利用到這些新變化,但性能除外 —— 開發(fā)者只需要升級(jí) JDK 版本,就能免費(fèi)獲得性能提升。

Java 17 于昨日正式發(fā)布,新版本提供了不少新特性和功能增強(qiáng)。不過對(duì)于大多數(shù)項(xiàng)目而言,往往需要更改代碼才能利用到這些新變化,但性能除外 —— 開發(fā)者只需要升級(jí) JDK 版本,就能免費(fèi)獲得性能提升。

[[424310]]

規(guī)劃調(diào)度引擎 OptaPlanner 項(xiàng)目負(fù)責(zé)人對(duì) JDK 17、JDK 16 和 JDK 11 的性能基準(zhǔn)測試進(jìn)行了對(duì)比,看看 Java 17 的性能提升是否值得我們?nèi)ド?jí)。

測試環(huán)境和流程

  • 硬件:穩(wěn)定的機(jī)器,沒有任何其他計(jì)算要求的進(jìn)程在運(yùn)行。
  • 配置 Intel® Xeon® Silver 4116 @ 2.1 GHz (12 cores total / 24 threads) ,128 GiB RAM ,RHEL 8 x86_64

JDKs(用于編譯和運(yùn)行)

JDK 11

  • openjdk 11.0.12 2021-07-20
  • OpenJDK Runtime Environment Temurin-11.0.12+7 (build 11.0.12+7)
  • OpenJDK 64-Bit Server VM Temurin-11.0.12+7 (build 11.0.12+7, mixed mode)

JDK 16

  • openjdk 16.0.2 2021-07-20
  • OpenJDK Runtime Environment (build 16.0.2+7-67)
  • OpenJDK 64-Bit Server VM (build 16.0.2+7-67, mixed mode, sharing)

JDK 17 (下載日期為 2021-09-06)

  • openjdk 17 2021-09-14
  • OpenJDK Runtime Environment (build 17+35-2724)
  • OpenJDK 64-Bit Server VM (build 17+35-2724, mixed mode, sharing)

JVM 選項(xiàng):啟用-Xmx3840M并明確指定垃圾回收器:

  • -XX:+UseG1GC for G1GC,低延遲垃圾回收器(三個(gè) JDK 版本的默認(rèn)項(xiàng))
  • -XX:+UseParallelGC for ParallelGC,高吞吐量垃圾回收器

Main class:org.optaplanner.examples.app.GeneralOptaPlannerBenchmarkApp,來自 OptaPlanner 8.10.0.Final中的 optaplanner-examples模塊

  • 每次運(yùn)行都使用 OptaPlanner 解決 11 個(gè)規(guī)劃問題,例如員工排班、學(xué)校時(shí)間表和云優(yōu)化。每個(gè)規(guī)劃問題運(yùn)行 5 分鐘。日志記錄設(shè)置為 INFO?;鶞?zhǔn)測試以 30 秒的 JVM 預(yù)熱開始。
  • 解決規(guī)劃問題不涉及 IO(除了在啟動(dòng)期間加載輸入的幾毫秒)。單個(gè) CPU 完全飽和。它會(huì)不斷地創(chuàng)建許多短期存在的對(duì)象,然后 GC 將它們收集起來。
  • 基準(zhǔn)測試會(huì)衡量每秒計(jì)算的分?jǐn)?shù)數(shù)量,分?jǐn)?shù)越高代表性能越好。為提議的規(guī)劃解決方案計(jì)算分?jǐn)?shù)并非易事:它涉及許多計(jì)算,包括檢查每個(gè)實(shí)體與每個(gè)其他實(shí)體之間的沖突。

運(yùn)行次數(shù):每個(gè) JDK 和每個(gè)垃圾回收器組合按順序運(yùn)行 3 次。下面的結(jié)果是這 3 次運(yùn)行的平均值。

測試結(jié)果

Java 11 (LTS) and Java 16 versus Java 17 (LTS)

G1GC versus ParallelGC on Java 17

總結(jié)

基于 OptaPlanner 用例,這些基準(zhǔn)測試表明:

  • 對(duì)于 G1GC(默認(rèn)),Java 17 比 Java 11 快 8.66%,比 Java 16 快 2.41%
  • 對(duì)于 ParallelGC,Java 17 比 Java 11 快 6.54%,比 Java 16 快 0.37%
  • Parallel GC 比 G1 GC 快 16.39%

簡而言之,最新的 JDK 更快,高吞吐量垃圾回收器比低延遲垃圾回收器更快。

因此,Java 17 帶來的性能提升非常值得升級(jí),更重要的是它可以免費(fèi)商用,而且還是 LTS 版本。所以你還要堅(jiān)持 Java 8 一萬年不動(dòng)搖嗎?

本文轉(zhuǎn)自O(shè)SCHINA

本文標(biāo)題:Java 17 快了多少?JDK 17、16 和 11 的性能比較和分析

本文地址:https://www.oschina.net/news/160487/how-much-faster-is-java17

資訊來源:OptaPlanner

責(zé)任編輯:未麗燕 來源: 開源中國
相關(guān)推薦

2020-07-27 08:24:42

編程語言C語言Java

2021-04-07 08:00:00

Java開發(fā)工具

2012-12-03 10:26:51

Scala

2024-01-26 08:33:14

JDK17JDK11版本

2015-02-05 09:25:51

HTTPSSPDYHTTP2

2014-08-20 09:49:50

虛擬機(jī)Linux Conta

2011-04-15 10:26:38

JavaMVC

2011-04-28 09:49:56

SQLwith子查詢

2009-12-16 14:10:22

路由技術(shù)性能比較

2021-09-28 10:37:50

LayUI JDK

2010-03-10 16:35:23

Python編程語言

2020-09-18 06:44:57

MSVC微軟C11

2024-08-26 09:36:06

2013-12-16 10:20:48

MySQL數(shù)據(jù)庫

2012-09-24 13:40:42

Fedora 17

2021-09-29 06:28:12

Java 9 Java 17Java 11

2009-05-25 08:39:08

iPhone蘋果移動(dòng)OS

2023-08-08 21:03:52

2023-06-29 07:54:19

2023-11-09 08:46:24

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)