点击关注公众号,回复“2T”获取2TB学习资源!

互联网架构师后台回复 2T 有特别礼包

来源:  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并明确指定垃圾回收器:

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

  • -XX:+UseParallelGC for ParallelGC,高吞吐量垃圾回收器

4、Main class

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

  • 每次运行都使用 OptaPlanner 解决 11 个规划问题,例如员工排班、学校时间表和云优化。每个规划问题运行 5 分钟。日志记录设置为 INFO。基准测试以 30 秒的 JVM 预热开始。搜索公众号互联网架构师回复“2T”,送你一份惊喜礼包。

  • 解决规划问题不涉及 IO(除了在启动期间加载输入的几毫秒)。单个 CPU 完全饱和。它会不断地创建许多短期存在的对象,然后 GC 将它们收集起来。

  • 基准测试会衡量每秒计算的分数数量,分数越高代表性能越好。为提议的规划解决方案计算分数并非易事:它涉及许多计算,包括检查每个实体与每个其他实体之间的冲突。

5、运行次数

每个 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%,搜索公众号互联网架构师回复“2T”,送你一份惊喜礼包。

  • 对于 ParallelGC,Java 17 比 Java 11 快 6.54%,比 Java 16 快 0.37%

  • Parallel GC 比 G1 GC 快 16.39%

简而言之,最新的 JDK 更快,高吞吐量垃圾回收器比低延迟垃圾回收器更快。

因此,Java 17 带来的性能提升非常值得升级,更重要的是它可以免费商用,而且还是 LTS 版本。

所以你还要坚持 Java 8 一万年不动摇吗?

感谢您的阅读,也欢迎您发表关于这篇文章的任何建议,关注我,技术不迷茫!小编到你上高速。

· END ·

最后,关注公众号互联网架构师,在后台回复:2T,可以获取我整理的 Java 系列面试题和答案,非常齐全。

正文结束

推荐阅读 ↓↓↓

1.不认命,从10年流水线工人,到谷歌上班的程序媛,一位湖南妹子的励志故事

2.深圳一普通中学老师工资单曝光,秒杀程序员,网友:敢问是哪个学校毕业的?

3.从零开始搭建创业公司后台技术栈

4.程序员一般可以从什么平台接私活?

5.清华大学:2021 元宇宙研究报告!

6.为什么国内 996 干不过国外的 955呢?

7.这封“领导痛批95后下属”的邮件,句句扎心!

8.15张图看懂瞎忙和高效的区别!

再见,Java 8!Java 17 竟然是史上最快的 JDK。。相关推荐

  1. 再见,Java 8!Java 17 发布,堪称史上最快的 JDK

    点击关注公众号,利用碎片时间学习 Java 17 于昨日正式发布,新版本提供了不少新特性和功能增强.不过对于大多数项目而言,往往需要更改代码才能利用到这些新变化,但性能除外 -- 开发者只需要升级 J ...

  2. iphone x性能测试软件,【苹果iPhoneX评测】性能:iPhone8竟然是史上最强_苹果 iPhone X _手机评测-中关村在线...

    性能:iPhone8竟然是史上最强 这一次,苹果显然是知道了iPhone8系列创新上的不足,因此并没有差异化iPhone8系列和iPhoneX的处理器,同样是A11仿生,2个高性能核心和4个高能效的核 ...

  3. 史上最快消息内核——ZeroMQ

    ZeroMQ是一个很有个性的项目,它原来是定位为"史上最快消息队列",所以名字里面有"MQ"两个字母,但是后来逐渐演变发展,慢慢淡化了消息队列的身影,改称为消息 ...

  4. MySQL史上最快逻辑备份工具

    MySQL Shell 8.0.21 增加了一种新的逻辑备份恢复方法,有更快的备份恢复效率,支持zstd实时压缩,支持分块并行导出,load data并行导入,还能备份到OCI的对象存储. util. ...

  5. Android开发者福音-史上最快模拟器genymotion

    Android开发者福音-史上最快模拟器genymotion 2014年3月17日 这个模拟器是我在新公司第一天上班的时候,公司同事推荐给我的,这么好的东西,我自然不忘跟大家分享一下.我们都知道Ecl ...

  6. 半年 5 战 5 金:Kaggle 史上最快 GrandMaster 是如何炼成的?

    点击上方"Datawhale",选择"星标"公众号 第一时间获取价值内容 转载自机器之心(id: almosthuman2014) 这是 Kaggle 你问我答 ...

  7. 一年六篇顶会的清华大神提出Fastformer:史上最快、效果最好的Transformer

    来源:新智元 [导读]Transformer模型好是好,可惜太慢了!最近一位清华大神在arxiv上传了一篇论文,提出新模型Fastformer,线性时间复杂度,训练和推理效率史上最快,还顺手在排行榜刷 ...

  8. DeepFaceLab史上最快的环境搭建(虚拟环境)

    DeepFaceLab史上最快的环境搭建(虚拟环境) 文章目录: 一.测试环境 二.搭建虚拟环境 1.创建虚拟环境 2.激活虚拟环境 3.离开虚拟环境 三.配置GPU环境 四.安装配置python库包 ...

  9. 史上最快的内网视频会议部署方案-turbomeeting视频会议系统

    之前的文章有提到过,市面上用电脑安装视频会议软件.手机安装视频会议软件来开会的"软视频会议系统"主要是以租赁的形式提供给用户使用,很多优秀的软件甚至只需要付费6000K就可以获得5 ...

  10. miui android 更新更快,即日起,“史上最快的安卓系统”要停更了!或将迎来MIUI 10?...

    原标题:即日起,"史上最快的安卓系统"要停更了!或将迎来MIUI 10? 今日,小米官方宣布:MIUI 将在4月27日发布最后一个更新包MIUI 9开发版/体验版8.4.26之后大 ...

最新文章

  1. 阿里云PolarDB数据库将云原生进行到底!业内首次实现三层池化
  2. 莱比特矿池CEO江卓尔:BCH作为货币不需要新功能,但出于货币竞争的考虑需要
  3. ngx_rtmp_shared模块对ngx_chain_t的操作总结
  4. iOS中UIWebview中网页宽度自适应的问题
  5. Delphi - 新语法之类相关的
  6. Xshell显示中文,但是不能输入中文
  7. 贪吃蛇html一维坐标,html贪吃蛇
  8. java platform se binary怎么关闭_如何吐槽舌尖上的折磨?diss难吃只会说malo,那还怎么battle?...
  9. [转载]C# MemoryStream(内存流)
  10. C++中STL-队列和优先队列
  11. 程序猿月薪过 7 万,可以落户北京了!
  12. Visio画图如何保存高质量图片供论文使用
  13. windows系统自带cmd命令下载文件(类似linux的wget下载文件)
  14. Python 批量修改文件名称测试
  15. Hadoop HDFS常用命令
  16. Linux——文件句柄数设置
  17. 软件开发知识点基础介绍
  18. 数据库mysql---NUMERIC数据类型
  19. shell十三问--shell教程
  20. get请求400神坑

热门文章

  1. Mac mysql 忘记 root 密码,phpmyadmin 登录 No such file or directory 错误处理
  2. HDU 5950 Recursive sequence
  3. Camtasia混音教程
  4. Linux命令:修改文件权限命令chmod、chgrp、chown详解
  5. Android 透明颜色值ARGB
  6. Nginx安装问题记录
  7. poj 3020 Antenna Placement 匈牙利二分匹配 最小覆盖数 !!!!
  8. Illustrator中文版教程,如何在 Illustrator 中创建几何图案?
  9. Illustrator 教程,如何在 Illustrator 中创建色板?
  10. iOS开发之旧版本Xcode下载