Java 17 快了多少?JDK 17、16 和 11 的性能比较和分析

开发 后端
Java 17 日前正式发布,新版本提供了不少新特性和功能增强。不过对于大多数项目而言,往往需要更改代码才能利用到这些新变化,但性能除外 —— 开发者只需要升级 JDK 版本,就能免费获得性能提升。

Java 17 于昨日正式发布,新版本提供了不少新特性和功能增强。不过对于大多数项目而言,往往需要更改代码才能利用到这些新变化,但性能除外 —— 开发者只需要升级 JDK 版本,就能免费获得性能提升。

[[424310]]

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

测试环境和流程

  • 硬件:稳定的机器,没有任何其他计算要求的进程在运行。
  • 配置 Intel® Xeon® Silver 4116 @ 2.1 GHz (12 cores total / 24 threads) ,128 GiB RAM ,RHEL 8 x86_64

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)

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

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

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

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

运行次数:每个 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 一万年不动摇吗?

本文转自OSCHINA

本文标题:Java 17 快了多少?JDK 17、16 和 11 的性能比较和分析

本文地址:https://www.oschina.net/news/160487/how-much-faster-is-java17

资讯来源:OptaPlanner

责任编辑:未丽燕 来源: 开源中国
相关推荐

2020-07-27 08:24:42

编程语言C语言Java

2021-04-07 08:00:00

Java开发工具

2012-12-03 10:26:51

Scala

2015-02-05 09:25:51

HTTPSSPDYHTTP2

2024-01-26 08:33:14

JDK17JDK11版本

2014-08-20 09:49:50

虚拟机Linux Conta

2011-04-15 10:26:38

JavaMVC

2011-04-28 09:49:56

SQLwith子查询

2009-12-16 14:10:22

路由技术性能比较

2010-03-10 16:35:23

Python编程语言

2021-09-28 10:37:50

LayUI JDK

2020-09-18 06:44:57

MSVC微软C11

2013-12-16 10:20:48

MySQL数据库

2012-09-24 13:40:42

Fedora 17

2021-09-29 06:28:12

Java 9 Java 17Java 11

2009-05-25 08:39:08

iPhone苹果移动OS

2023-08-08 21:03:52

2011-05-18 14:52:04

XML

2023-06-29 07:54:19

2009-07-01 18:12:18

JSP的优势性能比较
点赞
收藏

51CTO技术栈公众号