关于java:再见Java-8Java-17-终于免费了史上最快的-JDK

0次阅读

共计 1757 个字符,预计需要花费 5 分钟才能阅读完成。

文 | 局长

出品 | OSC 开源社区(ID:oschina2013)

Java 17 已正式公布,新版本提供了不少新个性和性能加强。不过对于大多数我的项目而言,往往须要更改代码能力利用到这些新变动,但性能除外 —— 开发者只须要降级 JDK 版本,就能收费取得性能晋升。

布局调度引擎 OptaPlanner 我的项目负责人对 JDK 17、JDK 16 和 JDK 11 的性能基准测试进行了比照,看看 Java 17 的性能晋升是否值得咱们去降级。

测试环境和流程

1、硬件

稳固的机器,没有任何其余计算要求的过程在运行。

配置 Intel® Xeon® Silver 4116 @ 2.1 GHz (12 cores total / 24 threads) ,128 GiB RAM ,RHEL 8 x86_64

2、JDKs(用于编译和运行)

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)
3、JVM 选项

启用 -Xmx3840M 并明确指定垃圾回收器:

  • -XX:+UseG1GC for G1GC,低提早垃圾回收器(三个 JDK 版本的默认项)
  • -XX:+UseParallelGC for ParallelGC,高吞吐量垃圾回收器
4、Main class

org.optaplanner.examples.app.GeneralOptaPlannerBenchmarkApp,来自 OptaPlanner 8.10.0.Final中的 optaplanner-examples模块

  • 每次运行都应用 OptaPlanner 解决 11 个布局问题,例如员工排班、学校时间表和云优化。每个布局问题运行 5 分钟。日志记录设置为 INFO。基准测试以 30 秒的 JVM 预热开始。
  • 解决布局问题不波及 IO(除了在启动期间加载输出的几毫秒)。单个 CPU 齐全饱和。它会一直地创立许多短期存在的对象,而后 GC 将它们收集起来。
  • 基准测试会掂量每秒计算的分数数量,分数越高代表性能越好。为提议的布局解决方案计算分数并非易事:它波及许多计算,包含查看每个实体与每个其余实体之间的抵触。
5、运行次数

每个 JDK 和每个垃圾回收器组合按程序运行 3 次。上面的后果是这 3 次运行的平均值。

测试后果

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

G1GC versus ParallelGC on Java 17

总结

基于 OptaPlanner 用例,这些基准测试表明:

  • 对于 G1GC(默认),Java 17 比 Java 11 快 8.66%,比 Java 16 快 2.41%
  • 对于 ParallelGC,Java 17 比 Java 11 快 6.54%,比 Java 16 快 0.37%
  • Parallel GC 比 G1 GC 快 16.39%

简而言之,最新的 JDK 更快,高吞吐量垃圾回收器比低提早垃圾回收器更快。

因而,Java 17 带来的性能晋升十分值得降级,更重要的是它能够收费商用,而且还是 LTS 版本。所以你还要保持 Java 8 一万年不波动吗?

原文:https://www.optaplanner.org/b…

近期热文举荐:

1.1,000+ 道 Java 面试题及答案整顿(2021 最新版)

2. 别在再满屏的 if/ else 了,试试策略模式,真香!!

3. 卧槽!Java 中的 xx ≠ null 是什么新语法?

4.Spring Boot 2.5 重磅公布,光明模式太炸了!

5.《Java 开发手册(嵩山版)》最新公布,速速下载!

感觉不错,别忘了顺手点赞 + 转发哦!

正文完
 0