Java 11 究竟比 8 快了多少?
阅读本文大概需要 1.2 分钟。
作者:h4cd
来源:开源中国社区
开源规划调度引擎 OptaPlanner 官网发布了一个 Java 11 GC 性能基准测试报告。
当前使用量最大的 Java 版本是 8,所以测试者用 Java 8 与 Java 11 进行对比测试。
GC 是影响 Java 性能的关键因素,所以测试自然也基于 GC,在 G1 GC 和并行 GC 下分别进行了测试,结果如下:
Java 8 vs. Java 11
使用 G1 GC
G1 GC 下每秒分值:
Java 11 在几乎所有测试数据集上都有速度上的提升。
平均而言,仅通过切换到 Java 11 就有 16% 的改进,这种改进可能是因为 Java 10 中引入了 JEP 307: Parallel Full GC for G1。
使用并行 GC
并行 GC 下每秒分值:
使用并行 GC,结果不如 G1,某些数据集上有所改进,但其它数据集保持不变甚至出现性能下降。平均而言,Java 11 的性能提升了 4% 以上。
测试者还在 Java 11 上对并行 GC 与 G1 GC 进行对比:
Java 11 上并行 GC vs. G1 GC
结果表明 G1 GC 整体上不如并行 GC。
OptaPlanner 表示,从 Java 8 到 Java 11,G1 GC 的平均速度改进为 16.1%,并行 GC 为 4.5%。
此外虽然并行 GC 面向吞吐量,而 G1 则侧重于低延迟 GC,但是 Java 11 中带来的 G1 显著改进,使得将两者进行直接比较是有意义的。
此外,基于基准测试中的大多数数据集来看,并行 GC 还是更适合 OptaPlanner 的,因为吞吐量对于解决 OptaPlanner 的优化问题更为重要。
详细测试基准与过程查看原文:
https://www.optaplanner.org/blog/2019/01/17/HowMuchFasterIsJava11.html
Java 11 究竟比 8 快了多少?的更多相关文章
- Java 11 究竟比 8 快了多少?看看这个基准测试
开源规划调度引擎 OptaPlanner 官网发布了一个 Java 11 GC 性能基准测试报告. 当前使用量最大的 Java 版本是 8,所以测试者用 Java 8 与 Java 11 进行对比测试 ...
- java 11 移除的一些其他内容,更简化的编译运行程序,Unicode 10,移除了不太使用的JavaEE模块和CORBA技术,废除Nashorn javascript引擎,不建议使用Pack200 相关api
移除的一些其他内容 移除项 移除了com.sun.awt.AWTUtilities 移除了sun.misc.Unsafe.defineClass, 使用java.lang.invoke.MethodH ...
- [转帖] Oracle JDK 11 正式发布.. 版本号真快
Java 11 / JDK 11 正式发布! oschina 发布于 2018年09月26日 收藏 19 评论 38 在您的既有IT基础设施上按需构建人工智能更高效>>> 美 ...
- Java 11 正式发布,支持期限至2026年9月
美国当地时间9月25日,Oracle 官方宣布 Java 11 (18.9 LTS) 正式发布,可在生产环境中使用!这是自 Java 8 后的首个长期支持版本,非常值得大家的关注,可以通过下面的地址进 ...
- Java 11 New Features
前言 北京时间 2018年9 月 26 日,Oracle 官方宣布 Java 11 正式发布.这是 Java 大版本周期变化后的第一个长期支持版本,非常值得关注.从官网即可下载, 最新发布的 Java ...
- 最通俗易懂的 Java 11 新特性讲解
大多数开发者还是沉浸在 Java 8 中,而 Java 14 将要在 2020 年 3 月 17 日发布了,而我还在写着 Java 11 的新特性.Java 11 是 Java 8 之后的第一个 LT ...
- 2022 Java生态系统报告:Java 11超Java 8、Oracle在缩水、Amazon在崛起!
近日,New Relic发布了最新的2022 Java生态系统报告,这份报告可以帮助我们深入的了解Java体系的最新使用情况,下面就一起来看看2022年,Java发展的怎么样了,还是Java 8 YY ...
- mysql处理大数据量的查询速度究竟有多快和能优化到什么程度
mysql处理大数据量的查询速度究竟有多快和能优化到什么程度 深圳-ftx(1433725026) 18:10:49 mysql有没有排名函数啊 横瓜(601069289) 18:13:06 无 ...
- Java 11 新功能来了!
关键时刻,第一时间送达! 目前 Oracle 已经发布了 Java Development Kit 10,下个版本 JDK 11 也即将发布.本文介绍 Java 11 的新功能. 根据Oracle新出 ...
随机推荐
- 大数据学习(一)-------- HDFS
需要精通java开发,有一定linux基础. 1.简介 大数据就是对海量数据进行数据挖掘. 已经有了很多框架方便使用,常用的有hadoop,storm,spark,flink等,辅助框架hive,ka ...
- 纯css3单选框/复选框美化样式代码
纯CSS 单/复选框 美化请选择iPhone 型号 iPhone 6s iPhone 6s Plus iPhone 7 iPhone 7 Plus 选择兴趣爱好 女 绘画 摄影 骑行 原理在这 ...
- Kubernetes集群升级(kubeadm升级方式)
1.升级前的版本确认(相同的大版本号下的小版本升级还是跨版本升级) 例如:从1.12.0升级到1.12.7 或者 从1.12.7升级到1.13.0 2.配置kubernetes安装源(已配置kuber ...
- Windows PowerShell基本语法及常用命令
PowerShell常用命令: 一 Get类 1.Get-Command : 得到所有PowerShell命令,获取有关 cmdlet 以及有关 Windows PowerShell 命令的其他元素的 ...
- Spring Boot 启动(四) EnvironmentPostProcessor
Spring Boot 启动(四) EnvironmentPostProcessor Spring 系列目录(https://www.cnblogs.com/binarylei/p/10198698. ...
- 为什么禁止在 foreach 循环里进行元素的 remove/add 操作
首先看下边一个例子,展示了正确的做法和错误的错发: 这是为什么呢,具体原因下面进行详细说明: 1.foreach循环(Foreach loop)是计算机编程语言中的一种控制流程语句,通常用来循环遍历数 ...
- 每天五分钟,玩转Docker。-Day2
Day2 镜像仓库(Docker registry) Docker registry是存储容器镜像的仓库,用户可以通过Docker client 与Docker register 进行通信,以此来完成 ...
- perl 读取Excel写入txt 乱码
用perl读出excel的内容(中文),然后输出在txt中乱码,但是打印在控制台正常. 解决办法: use Encode qw/from_to/; from_to($value, 'gb2312', ...
- JavaScript 数组(Array)方法汇总
数组(Array)常用方法; 数组常用的方法:concat(),every(), filter(), forEach(), indexOf(), join(), lastIndexOf(), map ...
- Django自定义过滤器及标签
一.自定义过滤器 1.自定义过滤器文件存放位置 在APP应用下创建名为templatetags(该文件夹名固定)的文件包(包含__init__.py文件) 注意APP必须在setting中注册 即在s ...