点击关注公众号,回复“2T”获取2TB学习资源!
来源: https://www.optaplanner.org/blog/2021/09/15/HowMuchFasterIsJava17.html
上一篇:武大94年博士年薪201万入职华为!学霸日程表曝光,简直降维打击!
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),搜索公众号互联网架构师回复“2T”,送你一份惊喜礼包。
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并明确指定垃圾回收器:
4、Main class
每次运行都使用 OptaPlanner 解决 11 个规划问题,例如员工排班、学校时间表和云优化。每个规划问题运行 5 分钟。日志记录设置为 INFO。基准测试以 30 秒的 JVM 预热开始。搜索公众号互联网架构师回复“2T”,送你一份惊喜礼包。
解决规划问题不涉及 IO(除了在启动期间加载输入的几毫秒)。单个 CPU 完全饱和。它会不断地创建许多短期存在的对象,然后 GC 将它们收集起来。
基准测试会衡量每秒计算的分数数量,分数越高代表性能越好。为提议的规划解决方案计算分数并非易事:它涉及许多计算,包括检查每个实体与每个其他实体之间的冲突。
5、运行次数
每个 JDK 和每个垃圾回收器组合按顺序运行 3 次。下面的结果是这 3 次运行的平均值。
测试结果
Java 11 (LTS) and Java 16 versus Java 17 (LTS)
![940fbd12ce71b10ea65ac94a51f1f873.png](https://i-blog.csdnimg.cn/blog_migrate/0863ac30a493d5f287dce752d4b5f142.png)
![84f21b77ed7a8e50d1af0938dbe66f29.png](https://i-blog.csdnimg.cn/blog_migrate/f500657ab2112cd86f5e522265150d43.png)
![c90cd96d67c13a2cf38f5b3d0df93625.png](https://i-blog.csdnimg.cn/blog_migrate/fba774ef8b4787918de2ca017eaaf1a0.png)
G1GC versus ParallelGC on Java 17
![c19dbe250b72b3cea546cd6586da6055.png](https://i-blog.csdnimg.cn/blog_migrate/00d52c2d49c5ba7ad29be0d8017e9a98.png)
总结
基于 OptaPlanner 用例,这些基准测试表明:
简而言之,最新的 JDK 更快,高吞吐量垃圾回收器比低延迟垃圾回收器更快。
因此,Java 17 带来的性能提升非常值得升级,更重要的是它可以免费商用,而且还是 LTS 版本。
所以你还要坚持 Java 8 一万年不动摇吗?
感谢您的阅读,也欢迎您发表关于这篇文章的任何建议,关注我,技术不迷茫!小编到你上高速。
· END ·
最后,关注公众号互联网架构师,在后台回复:2T,可以获取我整理的 Java 系列面试题和答案,非常齐全。
正文结束
推荐阅读 ↓↓↓
1.不认命,从10年流水线工人,到谷歌上班的程序媛,一位湖南妹子的励志故事
2.深圳一普通中学老师工资单曝光,秒杀程序员,网友:敢问是哪个学校毕业的?