写点什么

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:006780
用户头像

发布了 344 篇内容, 共 247.0 次阅读, 收获喜欢 630 次。

关注

评论

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

通义灵码企业代码补全增强使用实践

阿里巴巴云原生

阿里云 云原生 通义灵码

掌握 C++17:结构化绑定与拷贝消除的妙用

不在线第一只蜗牛

c++

摊牌了!一文教会你轻松上手豆包MarsCode 编程助手!

Trae

人工智能 AI 代码 教程 分享工具

构建智能电商系统:京东商品详情API返回值是关键

技术冰糖葫芦

api 网关 API Gateway API 文档 pinduoduo API

从孤岛到协同,集成式财务规划的未来

智达方通

业财融合 全面预算管理 财务管理 财务预算

哈银消金以普惠金融服务助力假期经济

极客天地

Flink全新周边正式上线!议题征集正在进行中!

Apache Flink

大数据 flink 实时计算 Apache Flink FFA

数字化转型背景下低代码开发模式变革的研究

不在线第一只蜗牛

低代码 数字化

搭建Jellyfin、Plex、Emby媒体服务,贝锐花生壳轻松内网穿透远程访问

贝锐

NAS 群晖 #docker

828华为云会议Flexus版重磅亮相,让每一场会议都高效!

轶天下事

来云栖大会!探展云上开发,沉浸式体验云原生 + AI 新奇玩法

阿里云云效

阿里云 云原生

软件测试学习笔记丨Charles 实战

测试人

软件测试

“软件驱动未来·数字闪耀金陵”2024南京软博会,官宣定档!

AIOTE智博会

软件博览会 软件展会 软博会 南京软博会

通义灵码企业代码补全增强使用实践

阿里云云效

阿里云 云原生 通义灵码

【YashanDB知识库】执行sql语句时报YAS-04401 data type - expected, but BLOB got异常

YashanDB

yashandb 崖山数据库 yashandb知识库

利用观测云实现云资源FinOps优化

观测云

云服务 FinOps

望繁信科技与华恒生物正式签约,共同开启流程数字化转型新篇章

望繁信科技

数字化转型 流程挖掘 流程资产 流程智能

来云栖大会!探展云上开发,沉浸式体验云原生 + AI 新奇玩法

阿里巴巴云原生

阿里云 云原生

openGemini 社区人才培养计划:助力成长,培养新一代云原生数据库人才

华为云开源

时序数据库 开源社区 openGemini 华为云开源

按图搜索的实时性:阿里巴巴拍立淘API返回值的快速响

技术冰糖葫芦

api 网关 API Gateway API 文档 API 测试 pinduoduo API

实现多线程的方式有哪些?

秃头小帅oi

从低代码到AI赋能,企业科技创新的下一个风口

天津汇柏科技有限公司

低代码 AI 人工智能

皮阿诺七星服务,提升家居定制新体验

新消费日报

Kotlin协程的取消机制:深入理解和优雅实现

伤感汤姆布利柏

国科云域名解析课堂:一个域名可以解析到多个IP地址吗?

国科云

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