Java 21重磅发布,史诗级增强,来看看究竟有多快?


prtyaa
prtyaa 2023-12-30 21:41:14 51305 赞同 0 反对 0
分类: 资源
从今年年初就一直在喊的具有革命性、未来性、开创新纪元的 JDK 21,正式发布了!
openjdk.org/projects/jd

什么是 Java 21 以及如何获取它

Java 21 是 Java 平台的新版本,Java 平台是编写 Timefold Solver 的可靠编程语言。它带来了许多新功能,以及常见的错误修复和较小的改进。

与之前的 Java 17 一样,Java 21 是一个长期支持 (LTS) 版本;它会持续很长一段时间。因此,最好尽快开始使用它,看看它是否适合您。

对于 Timefold Solver 来说,这意味着确保整个代码库继续在 Java 21 上完美运行,并运行一些基准测试以确保我们的用户至少可以获得与以前相同的性能。让我们开始吧。

微基准测试

我们将从得分总监微基准开始,我们定期使用它来确定各种变化对约束流性能的影响。这些基准测试并不运行整个求解器;相反,他们只专注于求解器的分数计算部分。

它们是使用Java Microbenchmark Harness (JMH)实现的,并且在许多 Java 虚拟机 (JVM) 分支中运行并进行了充分的预热。这让我们对结果充满信心。事实上,这些数字的误差幅度仅为±2%。

以下是 Java 21 与 Java 17 上的约束流性能:

 

大多数情况下,切换到 Java 21 时性能都会略有提高。“会议安排”基准测试是唯一的异常值,通过对求解器进行一些额外的工作,我们很可能也会提高该基准测试的性能。

应该注意的是,我们使用ParallelGC垃圾收集器 (GC) 运行这些基准测试,而不是默认的G1GC. 在这篇文章的后面,我们将解释原因。

现实世界的基准

现在我们已经看到了微基准,是时候将它们与现实世界的解算器性能进行比较了。这包括整个求解器,而不仅仅是分数计算部分。

我们在 10 个不同的 JVM 分支中手动运行求解器,并使用中值计算速度。我们选择了可用基准的子集,以保持较短的运行时间;就所使用的启发法和所执行的代码路径而言,该选择代表了整个基准测试套件。再次ParallelGC被用作垃圾收集器。结果如下:

 

这里没有什么惊喜。我们看到全面的性能小幅提升,证实了微基准测试的结果。与微基准相比,“会议安排”不再被视为异常值,这很有趣,并将作为我们调查可能的回归的另一个数据点。

由于我们尚未为这些大型基准建立正式的置信区间,因此我们无法肯定地说这些改进在统计上具有显着性。然而,运行之间观察到的波动足够小,足以让我们对结果充满信心。

为什么使用ParallelGC?

在我们使用 Timefold Solver 及其前身 OptaPlanner 的这些年里,我们发现这ParallelGC是该求解器的最佳垃圾收集器。这应该不足为奇 -ParallelGC专为高吞吐量而设计,并且求解器是 100% CPU 限制的。

G1GC(默认的垃圾收集器)是为低延迟量身定制的,这产生了相当大的差异。然而,事情会发生变化,我们有时需要挑战我们的假设。仍然是ParallelGC求解器的最佳 GC 吗?

G1GC下图显示了(基线)和之间的性能差异ParallelGC。由于 Java 21 引入了分代 ZGC(另一种旨在低延迟的 GC),我们认为将其也包含在内也会很有趣。

结果(通过之前的微基准测试获得)很清楚:

  • ParallelGC仍然是求解器的最佳 GC。
  • G1GC位居第二,但速度要慢得多。
  • ZGC 是三者中迄今为止最差的。

如果我们增加 JVM 可用的堆大小,情况可能会改变,因为ParallelGC大堆的扩展性不好,但对于-Xmx1G,它是明显的赢家。(对于 Timefold Solver 的许多用例来说,1GB 的堆绰绰有余。)

结论

在这篇文章中,我们展示了:

  • Timefold Solver 1.1.0 与 Java 21 完美配合,无需任何更改。
  • 切换到 Java 21 可能会给您的 Timefold Solver 应用程序带来微小的性能改进,但您的效果可能会略有不同。
  • ParallelGC仍然是求解器的最佳垃圾收集器。

我们鼓励您尝试 Java 21 并进行切换。毕竟它是免费的,您将能够享受最新、最好的 Java 平台。

如果您发现该资源为电子书等存在侵权的资源或对该资源描述不正确等,可点击“私信”按钮向作者进行反馈;如作者无回复可进行平台仲裁,我们会在第一时间进行处理!

评价 0 条
prtyaaL2
粉丝 1 资源 1949 + 关注 私信
最近热门资源
银河麒麟桌面操作系统备份用户数据  123
统信桌面专业版【全盘安装UOS系统】介绍  117
银河麒麟桌面操作系统安装佳能打印机驱动方法  109
银河麒麟桌面操作系统 V10-SP1用户密码修改  102
最近下载排行榜
银河麒麟桌面操作系统备份用户数据 0
统信桌面专业版【全盘安装UOS系统】介绍 0
银河麒麟桌面操作系统安装佳能打印机驱动方法 0
银河麒麟桌面操作系统 V10-SP1用户密码修改 0
作者收入月榜
1

prtyaa 收益393.62元

2

zlj141319 收益218元

3

1843880570 收益214.2元

4

IT-feng 收益208.98元

5

风晓 收益208.24元

6

777 收益172.71元

7

Fhawking 收益106.6元

8

信创来了 收益105.84元

9

克里斯蒂亚诺诺 收益91.08元

10

技术-小陈 收益79.5元

请使用微信扫码

加入交流群

请使用微信扫一扫!