AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

Renaissance:比较 JVM 性能的新基准

  • 2019-06-18
  • 本文字数:1285 字

    阅读完需:约 4 分钟

Renaissance:比较 JVM 性能的新基准

Charles 大学、Oracle 实验室和其他几所大学的研究人员发布了Renaissance,它是一个用于 Java 虚拟机性能测试的新基准。这个基准让 JVM 开发人员能够测量不同 JVM 发行版之间的性能,从而更好地理解应用程序在特定的 JVM 上有怎样的表现。


Renaissance 旨在对 Java 8(2014)到 Java 12(2019)这些版本之间发布的并发特性进行更多的测试。这些测试在诸如 DaCapo 和 SpecJVM2008 等基准使用过的一些测试基础上进行了扩展。总共有 21 个面向并行和并发的基准测试,覆盖了 Java 和 Scala 代码。另一个热门的 JVM 基准测试是 SPECJB2015,IBM使用它来演示硬件更改对Java性能的影响


Renaissance 白皮书的 12 位作者中,有 5 位与 Oracle 实验室合作开发 GraalVM。GraalVM是一种新的多语种虚拟机,可以在一个运行时中运行包括 Java 在内的多种软件语言。GraalVM 有社区版和商业企业版两个版本。每个版本都有两种模式:热点模式和本机镜像。热点模式是在OpenJDK的HotSpot实现之后命名的,且通过 Java 测试兼容性工具包(JCK)的测试,完全兼容 OpenJDK。GRAALVM 的另一种模式(本机镜像)将 Java 应用程序编译成本机机器码,由于一系列原因,它并不完全遵循Java SE的兼容性定义,但它可以运行符合其假设的应用程序。


来自 Excelsior 的高级软件工程师 Nikita Lipsky 对Sun Microsystems在2004 年定义的本机镜像兼容性问题提出了质疑:“其中有一条规则要求产品的‘所有配置’都具备兼容性。我们不能使用特殊的配置来通过测试,然后鼓励客户使用其他实际上不兼容的配置。是的,那个把戏有人试过一次。”


InfoQ 与 Oracle 进行了沟通,确认了在 Renaissance 基准中发布的数字是在兼容 HotSpot 模式下生成的,因此可以用它们来与其他 JVM 进行比较。


总体而言,Graalvm 社区版的性能与 OpenJDK 相当,而 Graalvm 企业版得分更好。在下面的图表中,得分越高越好。



Renaissance 的发布引起了与其他 Java 实现的混淆,因为他们没有参与,也不知道基准可以测量什么东西。与 SPEC(SPEC 提供了一个公平的基准线,在这个平台上,竞争厂商达成了一致)不同,GraalVM 独自参与了 Renaissance。尽管 12 位作者中有 7 位来自不同的大学,但竞争形势并不存在。研究 Shenandoah 垃圾收集器的 Red Hat 性能专家Aleksey Shipilev说 :“基准游戏是关于可信度,而供应商基准则充满了利益冲突。新的基准套件也如此,而与经过特别优化的供应商产品成果一起出现的新的基准套件就更是如此。”


Azul CTO Gil Tene 解释说:“创建‘新基准’可能并非偶然,但这也没什么错。时间会告诉我们这是否是一个可以用来比较 JVM 性能的基准。只有当参赛者都站在同一条起跑线上,比赛才算上是真正的比赛。如果 Renaissance 是一个真正的基准,那么它将会保持不变,而不是‘自适应并发生快速变化’,从而允许其他人重现稳定的基准结果,对不同的实现进行比较。”


Shipilev 指出了按照定义起始线来运行基准的困难之处,“如果说这个套件是‘开源和可更改的’,‘基准的选择具有公性’就是不真实的,所以并不能解决当前的问题。”


查看英文原文New Renaissance Performance Benchmark Aims to Compare JVMs


2019-06-18 08:006898
用户头像

发布了 425 篇内容, 共 293.5 次阅读, 收获喜欢 664 次。

关注

评论

发布
暂无评论
发现更多内容

SQL巩固测试题

Flychen

直播之变,5G为豹

脑极体

如何成长为高级工程师?

行者AI

【从零开始学爬虫】采集事业单位最新招聘信息

前嗅大数据

大数据 爬虫 数据采集 采集网页 采集招聘信息

FIL币价值与未来, FIL币价值预估

Hive学习笔记(二)

五分钟学大数据

hive 7月日更

官宣!ElasticJob 3.0.0 版本正式发布

SphereEx

模块一作业

王小森

一个成功的 Git 分支模型如何构建?

白亦杨

存储大师班 | RDMA简介与编程基础

QingStor分布式存储

云原生 对象存储 分布式存储

虚拟币合约交易平台搭建,永续合约交易系统源码

行业痛点今何在?产业安全专家共话云安全

腾讯安全云鼎实验室

云计算 云安全

Apache Dubbo---- RPC通信

是老郭啊

dubbo Dubbo服务 RPC框架 Apache Dubbo Spring Dubbo

统一服务门户,让运维不再成为“背锅侠”和“救火队”

BoCloud博云

有道互动内容引擎Ceramics的业务实践

有道技术团队

信息技术 web tech 网易有道

模块八作业

c

架构实战营

模块一作业

燕燕 yen yen

#架构实战营

架构实战营 -- 模块1作业

发酵的死神

重磅!不容错过的阿里内部微服务速成手册也太赞了(2021版)

Java

成功收到美团、字节、蚂蚁Offer后!我把狂刷 5 遍的面试题整理出来了!

Java 程序员 架构 面试

[架构实战营]模块一作业

xyu

#架构实战营

面试扣分点:什么是鸭子类型?

5W1H聊开源之Why——为什么要参与开源?

禅道项目管理

开源 项目

架构师实战营模块一命题作业

郑立新

架构实战营

论文解读丨图神经网络应用于半结构化文档的命名实体识别和关系提取

华为云开发者联盟

文档 识别 图神经网络 半结构化文档 关系提取

万字长文,Spark 架构原理和RDD算子详解一网打进!

云祁

大数据 spark 7月日更

CDH的安装(三)

大数据技术指南

CDH 7月日更

两者可兼得,在IDEA中使用Git!

Ayue、

git 学习

模块一作业

hello

架构实战营

公安重点人员研判分析平台解决方案,智慧派出所

微进程:微服务中后台作业的一种新架构设计模式

白亦杨

微服务

Renaissance:比较 JVM 性能的新基准_语言 & 开发_Erik Costlow_InfoQ精选文章