3年前 (2021-11-02)  Java系列 |   抢沙发  820 
文章评分 1 次,平均分 5.0
[收起] 文章目录

Java17附带了许多新特性和增强功能。然而,其中大多数都需要代码更改才能从中受益。除了性能。只需切换JDK安装,您就可以获得免费的性能提升。但是提升多少?值得吗?让我们通过比较JDK17、JDK16和JDK11的基准来找出答案。

基准方法

硬件:一台稳定的机器,无需运行任何其他要求计算的进程,具有Intel®Xeon®Silver 4116@2.1 GHz(总共12核/24线程)和128 GiB RAM内存,运行RHEL 8 x86_64。

JDK(用于编译和运行):

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

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选项:-Xmx3840M并显式指定垃圾收集器:

  • -XX:+UseG1GC for G1GC,低延迟垃圾收集器(所有三个jdk中的默认值)。
  • -XX:+UseParallelGC用于高吞吐量垃圾收集器ParallelGC。

主类:org.optaplanner.examples.app.GeneralOptaPlannerBenchmarkApp,来自optaplanner 8.10.0.Final中的optaplanner examples模块。

  • 每次运行都使用OptaPlanner解决11个规划问题,如员工排班、学校时间表和云优化。每个计划问题持续5分钟。日志记录设置为INFO。基准测试以30秒的JVM预热开始,该预热被丢弃。
  • 解决计划问题不涉及IO(启动期间加载输入的几毫秒除外)。单个CPU完全饱和。它不断地创建许多短期对象,然后GC收集它们。
  • 基准测量每秒计算的分数数。越高越好。计算建议的规划解决方案的分数非常重要:它涉及许多计算,包括检查每个实体和每个其他实体之间的冲突。

运行:每个JDK和每个垃圾收集器组合按顺序运行3次。下面的结果是这3次运行的平均值。

下面是复制这些结果的shell脚本。

结果

Java 11(LTS)和Java 16与Java 17(LTS)的对比

Java17快多少?
Java17快多少?
Java17快多少?
Java17快多少?

Java17上G1GC与ParallelGC的比较

Java17快多少?
Java17快多少?

执行摘要

平均而言,对于OptaPlanner用例,这些基准表明:

  • 对于G1GC,Java17比Java11快8.66%,比Java16快2.41%(默认)。
  • 对于ParallelGC,Java17比Java11快6.54%,比Java16快0.37%。
  • 并行垃圾收集器比G1垃圾收集器快16.39%。

这里没有什么大的意外:最新的JDK更快,高吞吐量垃圾收集器比低延迟垃圾收集器更快。

当我们对JDK15进行基准测试时,我们发现Java15比Java11快11.24%。现在,Java17比Java11的收益更少。这是否意味着Java17比Java15慢?

不,Java17也比Java15快。以前的基准测试是在不同的代码库上运行的(OptaPlanner 7.44而不是8.10)。不要把苹果和桔子作比较。

结论

总之,JDK17版本中获得的性能非常值得升级——至少对于OptaPlanner用例来说是如此。

此外,这些用例中最快的垃圾收集器仍然是ParallelGC,而不是G1GC(默认值)。

原文地址:https://www.optaplanner.org/blog/2021/09/15/HowMuchFasterIsJava17.html

 

除特别注明外,本站所有文章均为老K的Java博客原创,转载请注明出处来自https://javakk.com/2495.html

关于

发表评论

表情 格式

暂无评论

登录

忘记密码 ?

切换登录

注册