当前位置: 首页 > 科技观察

Java17快了多少?JDK17、16、11性能对比分析

时间:2023-03-12 19:17:35 科技观察

Java17昨天正式发布,新版本提供了很多新特性和增强功能。然而,对于大多数项目来说,通常需要更改代码才能利用这些新变化,性能除外——开发人员只需升级JDK版本即可免费获得性能改进。规划调度引擎OptaPlanner项目负责人对比了JDK17、JDK16和JDK11的性能基准,看看Java17的性能提升是否值得升级。测试环境和流程硬件:稳定的机器,没有任何其他计算要求高的流程在运行。配置Intel?Xeon?Silver4116@2.1GHz(总共12个内核/24个线程)、128GiBRAM、RHEL8x86_64JDKs(用于编译和运行)JDK11openjdk11.0.122021-07-20OpenJDK运行时环境Temurin-11.0。12+7(build11.0.12+7)OpenJDK64-BitServerVMTemurin-11.0.12+7(build11.0.12+7,mixedmode)JDK16openjdk16.0.22021-07-20OpenJDKRuntimeEnvironment(build16.0.2+7-67)OpenJDK64-BitServerVM(build16.0.2+7-67,mixedmode,sharing)JDK17(downloaddateis2021-09-06)openjdk172021-09-14OpenJDK运行时环境(build17+35-2724)OpenJDK64-BitServerVM(build17+35-2724,mixedmode,sharing)JVMoptions:enable-Xmx3840Mandexplicitlyspecifythegarbagecollector:-XX:+UseG1GCforG1GC,low-latencygarbagecollector(defaultitemfor3JDKversions)-XX:+UseParallelGCforParallelGC,high-throughputgarbagecollectorMainclass:org.optaplanner.examples.app.GeneralOptaPlannerBenchmarkApp,来自OptaPlanner8.10.0.Finaloptaplanner-examples模块使用sOptaPlanner每次运行解决11个规划问题,例如员工排班、学校时间表和云优化。每个规划问题运行5分钟。日志记录设置为信息。基准测试以30秒的JVM预热开始。解决规划问题不涉及IO(启动期间加载输入的几毫秒除外)。单个CPU完全饱和。它不断地创建许多短暂的对象,然后由GC收集。该基准衡量每秒计算的分数数量,分数越高表示性能越好。为提议的规划解决方案计算分数并非易事:它涉及许多计算,包括检查每个实体是否与其他每个实体发生冲突。运行次数:每个JDK和每个垃圾收集器组合按顺序运行3次。下面的结果是这3次运行的平均值。测试结果Java11(LTS)和Java16对比Java17(LTS)G1GC对比Java17上的ParallelGC总结基于OptaPlanner用例,这些基准表明:对于G1GC(默认),Java17比Java11快8.66%并且比Java16快2.41%对于ParallelGC,Java17比Java11快6.54%,比Java16快0.37%ParallelGC比G1GC快16.39%总之,最新的JDK比Java17更快,高吞吐量垃圾收集器lowlatencygarbagecollector收集器速度更快。因此,Java17带来的性能提升非常值得升级,更重要的是它是免费商用的,而且还是LTS版本。那么你还想坚持Java8一万年吗?本文标题转自OSCHINA。news/160487/how-much-faster-is-java17来源:OptaPlanner