查看原文
其他

Java性能基准测试:从OpenJDK 8到OpenJDK 19

点击关注公众号,一周多次包邮送书

出品 | OSC开源社区(ID:oschina2013)


科技媒体 Phoronix 对从 OpenJDK 8 到 OpenJDK 19 的多个 JDK 版本进行了性能基准测试。此外,作为参考对比,还加入了两个替代实现方案:OpenJ9 和 GraalVM CE。测试环境:
  • 搭载 Intel Core i5 12600K CPU、运行 Ubuntu 22.04 LTS 的电脑

  • 参与测试的所有 OpenJDK 构建均来自官方 OpenJDK 二进制文件,并使用测试时的最新版本

  • 为了保持默认 / 开箱即用状态,在测试期间没有将额外的参数传递给 Java 实现,以查看 JVM 实现的参考性能

接下来看看值得关注的测试结果。在基本的 Java SciMark 2.0 测试中,不同版本的 JDK 性能没有太大差距。至于 JVM 性能方面,相对来说,OpenJ9 性能较好(针对 JDK 8/11 的 OpenJ9 构建),并且与最快的 OpenJDK 测试结果保持一致。而 JDK 18 与 GraalVM CE 构建相对来说则慢得多。在稀疏矩阵乘法测试中结果稍有变化,OpenJ9 的执行速度比 OpenJDK 和 GraalVM 慢得多。对于密集 LU 矩阵分解,OpenJ9 JDK 8/11 的性能明显超过其他版本,执行速度比其他构建快得多。在 Bork 文件加密器方面,OpenJ9 的执行速度比其他经过测试的 JVM 慢。在 H2 DaCapo 基准测试中,OpenJ9 的表现也比其他版本慢。GraalVM CE 在此项测试产生了最快的结果,而 OpenJDK 18 和 19 都是成功测试的最快的 OpenJDK 版本。DaCapo Benchmark 的 Jython 测试还显示,OpenJDK 18 和 19 EA 比旧版本和替代实现略有领先。在 Renaissance 的一些基准测试中,OpenJDK 8 仍然能够以微弱优势领先。与 OpenJDK 相比,Oracle 的 GraalVM CE 在 Renaissance 的一些基准测试中表现非常出色。而 OpenJ9 未能成功运行部分 Renaissance 基准测试。对于几何平均值测试 (Geometric Mean),OpenJDK 18,尤其是 OpenJDK 19 早期访问版本的整体性能看起来相当不错,在某些情况下最终等同或优于旧的 OpenJDK 8 构建。GraalVM CE 在特定基准测试中的表现也非常出色,OpenJ9 在一些特定领域也是如此。OpenJDK 19 GA 预计在 9 月发布。点此查看完整测试结果:https://openbenchmarking.org/result/2206030-NE-JAVABENCH26&sgm=1&sor相关链接:https://www.phoronix.com/scan.php?page=article&item=java-openjdk-mid22&num=1

·················END·················

推荐阅读

• 3 张图带你彻底理解 RocketMQ 事务消息• 面试突击:说一下MySQL事务隔离级别?• 5张图带你理解 RocketMQ 顺序消息实现机制• 聊聊异步编程的 7 种实现方式• 从-1开始实现一个中间件• 各大主流编程语言性能PK,结果出乎意料• HTTP 新增的 103 状态码,这次终于派上用场了!

👇更多内容请点击👇

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存