Java 虚拟机 OpenJ9 和 Hotspot 的 Benchmark 测试

简介:

IBM 开源了它开发的 J9 Java 虚拟机 (JVM),并将其贡献给了 Eclipse 基金会,重命名为 Eclipse OpenJ9。J9 是一个高性能可伸缩的 Java 虚拟机,是许多 IBM 企业级软件产品的核心,OpenJ9 可作为 Hotspot 的替代者用于 OpenJDK,比如需要高性能的企业级运行时环境。

那么,这个 Eclipse OpenJ9 Java 虚拟机的性能到底如何?日前,有开发者运行了一些快速的 Benchmark 测试来和 Java 虚拟机 Hotspot 进行比较,以了解其性能。

测试者在两台 Linux 设备上进行测试,他将 OpenJ9 与 OpenJDK 9 打包在一起,将其性能与现有的 OpenJDK 9 Hotspot 构建版本进行比较。另外,还有一个参考的标准是 OpenJDK 8 Hotspot 的构建版本。这三个构建文件都是从它们的预构建二进制包页面获得的。

用于本次快速 Benchmark 测试的系统之一是基于 Intel Core i9 7900X,采用 Linux Kernel 4.13,运行 Ubuntu 17.04 的系统。

而另一个系统是使用有 Xeon Gold 6138 处理器并运行 Debian GNU/Linux 9.1 的双插槽 Tyan 服务器。

分别在两个系统上,测试了三个 OpenJDK 版本,并通过 Phoronix 测试套件运行了一些可用的 Java Benchmark 测试。

先来看看在 Core i9 7900X 上,本次 Hotspot/OpenJ9 测试的结果:

首先是使用 j2dbench 进行一些图形方面的基准测试。使用 OpenJ9 时,文本渲染速度明显较慢,而 Hotspot 在其他两次测试中表现相似。在 OpenJDK 8 和 9 之间也不是有很大的区别。J2dbench 是 Sun Microsystems 为 Phoronix 测试套件贡献的 Java 图形基准测试工具之一。

使用 Java 版的 SciMark2 进行一些数学运算基准测试

可以看到,至少到目前为止,OpenJ9 的性能大部分是落后于 Hotspot 的。

基于 Java 的 Bork 文件加密工具测试,可以看到 Hotspot 依然更快

JMH 测试中,它们之间的表现不相上下

Sunflow 基准测试中,Hotspot 依然更快

来自另一个系统的 Hotspot/OpenJ9 Benchmark 测试结果与 Core i9 测试的大致相似:

作为一个开源的 JVM 项目,OpenJ9 还处于初期阶段,应该在几个月后再运行一次测试,看看性能比较如何,请保持关注。


本文作者:佚名

来源:51CTO

相关文章
|
3天前
|
Java
PTA帅到没朋友(Java语言)+测试点
PTA帅到没朋友(Java语言)+测试点
11 1
|
3天前
|
Java 测试技术 数据库
【JAVA基础篇教学】第十七篇:Java单元测试
【JAVA基础篇教学】第十七篇:Java单元测试
|
3天前
|
Web App开发 JavaScript 前端开发
《手把手教你》系列技巧篇(三十九)-java+ selenium自动化测试-JavaScript的调用执行-上篇(详解教程)
【5月更文挑战第3天】本文介绍了如何在Web自动化测试中使用JavaScript执行器(JavascriptExecutor)来完成Selenium API无法处理的任务。首先,需要将WebDriver转换为JavascriptExecutor对象,然后通过executeScript方法执行JavaScript代码。示例用法包括设置JS代码字符串并调用executeScript。文章提供了两个实战场景:一是当时间插件限制输入时,用JS去除元素的readonly属性;二是处理需滚动才能显示的元素,利用JS滚动页面。还给出了一个滚动到底部的代码示例,并提供了详细步骤和解释。
31 10
|
1天前
|
JavaScript Java 测试技术
《手把手教你》系列技巧篇(四十六)-java+ selenium自动化测试-web页面定位toast-下篇(详解教程)
【5月更文挑战第10天】本文介绍了使用Java和Selenium进行Web自动化测试的实践,以安居客网站为例。最后,提到了在浏览器开发者工具中调试和观察页面元素的方法。
11 2
|
2天前
|
Web App开发 JavaScript 测试技术
《手把手教你》系列技巧篇(四十五)-java+ selenium自动化测试-web页面定位toast-上篇(详解教程)
【5月更文挑战第9天】本文介绍了在Appium中处理App自动化测试中遇到的Toast元素定位的方法。Toast在Web UI测试中也常见,通常作为轻量级反馈短暂显示。文章提供了两种定位Toast元素的技巧.
10 0
|
2天前
|
Java 测试技术
Java一分钟之-单元测试:JUnit与TestNG
【5月更文挑战第16天】本文介绍了Java常用的单元测试框架JUnit和TestNG,JUnit以其简洁注解受到青睐,而TestNG则提供更高级功能如参数化测试。常见问题包括测试未执行、断言失败等,解决办法包括检查项目配置、调整测试顺序。注意保持测试简单独立,确保高覆盖率。选择合适的框架可提升代码质量。
9 0
|
3天前
|
IDE Java 测试技术
Java测试三两事
Java测试三两事
10 1
|
3天前
|
Web App开发 缓存 前端开发
《手把手教你》系列技巧篇(四十四)-java+ selenium自动化测试-处理https 安全问题或者非信任站点-下篇(详解教程)
【5月更文挑战第8天】这篇文档介绍了如何在IE、Chrome和Firefox浏览器中处理不信任证书的问题。作者北京-宏哥分享了如何通过编程方式跳过浏览器的证书警告,直接访问不受信任的HTTPS网站。文章分为几个部分,首先简要介绍了问题背景,然后详细讲解了在Chrome浏览器中的两种方法,包括代码设计和运行效果,并给出了其他浏览器的相关信息和参考资料。最后,作者总结了处理此类问题的一些通用技巧。
16 2
|
3天前
|
Web App开发 JavaScript 前端开发
《手把手教你》系列技巧篇(四十三)-java+ selenium自动化测试-处理https 安全问题或者非信任站点-上篇(详解教程)
【5月更文挑战第7天】本文介绍了如何在Java+Selenium自动化测试中处理浏览器对不信任证书的处理方法,特别是针对IE、Chrome和Firefox浏览器。在某些情况下,访问HTTPS网站时会遇到证书不可信的警告,但可以通过编程方式跳过这些警告。
13 1
|
3天前
|
前端开发 Java 测试技术
《手把手教你》系列技巧篇(四十二)-java+ selenium自动化测试 - 处理iframe -下篇(详解教程)
【5月更文挑战第6天】本文介绍了如何使用Selenium处理含有iframe的网页。作者首先解释了iframe是什么,即HTML中的一个框架,用于在一个页面中嵌入另一个页面。接着,通过一个实战例子展示了在QQ邮箱登录页面中,由于输入框存在于iframe内,导致直接定位元素失败。作者提供了三种方法来处理这种情况:1)通过id或name属性切换到iframe;2)使用webElement对象切换;3)通过索引切换。最后,给出了相应的Java代码示例,并提醒读者根据iframe的实际情况选择合适的方法进行切换和元素定位。
11 0