再见,Java 8!Java 17 终于免费了,史上最快的 JDK。。
文 | 局长
出品 | OSC开源社区(ID:oschina2013)
上一篇:
,新版本提供了不少新特性和功能增强。不过对于大多数项目而言,往往需要更改代码才能利用到这些新变化,但性能除外 —— 开发者只需要升级 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(用于编译和运行)
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
模块
5、运行次数
每个 JDK 和每个垃圾回收器组合按顺序运行 3 次。下面的结果是这 3 次运行的平均值。
测试结果
Java 11 (LTS) and Java 16 versus Java 17 (LTS)
G1GC versus ParallelGC on Java 17
总结
基于 OptaPlanner 用例,这些基准测试表明:
简而言之,最新的 JDK 更快,高吞吐量垃圾回收器比低延迟垃圾回收器更快。
因此,Java 17 带来的性能提升非常值得升级,更重要的是它可以免费商用,而且还是 LTS 版本。
所以你还要坚持 Java 8 一万年不动摇吗?
原文链接:https://www.optaplanner.org/blog/2021/09/15/HowMuchFasterIsJava17.html
关注Java技术栈看更多干货