OpenJ9 和 HotSpot 的对比 Part 2 已翻译 100%

oschina 投递于 05/28 11:23 (共 4 段, 翻译完成于 05-30)
阅读 345
收藏 2
1
加载中

简介

昨天我从内存速度这两个维度比较了不同的 JDK 版本以及 OpenJ9 vs HotSpot。如果你问我,一个实际工作的服务于 REST 对象的 Spring Boot 应用程序,所测试的内存部分是真实的。

速度/CPU 测试依然...缺失。因为排序一些随机数组只是其中一个特定的测试。

今天我决定对 OpenJ9 和 Hotspot 用一个实际的基准测试进行更多的测试:SPECjvm2008。

Tocy
Tocy
翻译于 05/28 15:11
0

SPECjvm2008

SPEC(标准性能评估公司)有几个定义良好的基准和测试,其中包括一个名为 SPECjvm2008 的老版 JVM 基准测试。这是一个详尽的基准测试事项,如压缩、编译、XML 解析等等。我决定下载这个并且给它一个与 OpenJ9 和 HotSpot 的开关。这应该是一个更公正的比较。

最初我遇到了一些问题,其中一些测试对 Java 8 不起作用,并且有些测试甚至不能在 Java 9+ 上启动。但最终我通过使用以下参数剔除了几个基准并使其正常工作:

java -jar SPECjvm2008.jar startup.helloworld startup.compiler.compiler  startup.compress startup.crypto.aes startup.crypto.rsa startup.crypto.signverify startup.mpegaudio startup.scimark.fft startup.scimark.lu startup.scimark.monte_carlo startup.scimark.sor startup.scimark.sparse startup.serial startup.sunflow startup.xml.validation compiler.compiler compress crypto.aes crypto.rsa crypto.signverify derby mpegaudio scimark.fft.large scimark.lu.large scimark.sor.large scimark.sparse.large scimark.fft.small scimark.lu.small scimark.sor.small scimark.sparse.small scimark.monte_carlo serial sunflow xml.validation

Tocy
Tocy
翻译于 05/28 15:18
0

测试

这些测试中使用的 Docker 镜像都是 OpenJDK8 和 Java 8,但其中一个带有 HotSpot,另一个带有 OpenJ9。

  • adoptopenjdk/openjdk8

  • adoptopenjdk/openjdk8-openj9

我再次启动 Docker 镜像,目录链接到包含 SPEC 基准的主机:

  • 启动镜像:

docker run -it -v /Projects/SPECjvm2008:/app/SPECjvm2008 adoptopenjdk/openjdk8-openj9 /bin/bash
  • 进入正确目录:

cd /app/SPECjvm2008
  • 运行(工作)测试:

java -Xmx600m -jar SPECjvm2008.jar startup.helloworld startup.compiler.compiler  startup.compress startup.crypto.aes startup.crypto.rsa startup.crypto.signverify startup.mpegaudio startup.scimark.fft startup.scimark.lu startup.scimark.monte_carlo startup.scimark.sor startup.scimark.sparse startup.serial startup.sunflow startup.xml.validation compiler.compiler compress crypto.aes crypto.rsa crypto.signverify derby mpegaudio scimark.fft.large scimark.lu.large scimark.sor.large scimark.sparse.large scimark.fft.small scimark.lu.small scimark.sor.small scimark.sparse.small scimark.monte_carlo serial sunflow xml.validation
kevinlinkai
kevinlinkai
翻译于 05/29 13:43
0

测试结果

在等待了很长一段时间之后,基准结束,我得到了下列结果。

这个表衡量值是 ops/m,越高代表越好。根据硬件不同,结果可能会有所不同。

在大多数情况下,HotSpot 比 OpenJ9 更快,在 crypto 和 derby 两种情况下,HotSpot 速度更快。看起来这是 HotSpot 正在做一些特别的事情,而 J9(还)没有做?这对了解您是否正在处理大量密码学应用程序非常重要,例如高性能安全端点。

一个能让 OpenJ9 排第一的是 XML 校验。解析与校验也是大多数现代应用程序中的重要组成部分,所以这可能是 J9 在实际生产代码中的弥补了一些损失。

结论

这样就能得到一个真正的结论吗?我不这么认为。

真正的教训是:通过实验、测量,你将会知道,从来不能基于一些在线的基准来决定什么。

kevinlinkai
kevinlinkai
翻译于 05/29 13:57
0
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接。
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
加载中

评论(0)

返回顶部
顶部