写点什么

最新的 Dart VM 在 DeltaBlue 基准测试中击败 JVM

  • 2013-05-14
  • 本文字数:934 字

    阅读完需:约 3 分钟

前不久 InfoQ 曾经报道过,在DeltaBlue 基准测试中,Dart2js 生成的JavaScript 代码已经优于手写的JavaScript 代码,最近,还是基于该基准测试,最新的Dart VM 又击败了JVM7 的64 位服务器版本及其他版本。

Nikolay Botev 将 DeltaBlue 基准测试从 Dart 移植到 Java,针对 Dart-22416(最新的稳定版本)和 Dart-22577(一个每晚构建版本)运行了这一基准测试,并与若干 Java 客户端版本的测试结果进行了比较。在博客中他贴出了以下结果:

上表中第一列以微秒为单位,表示测试运行一遍所需的时间;而第二列是每秒运行次数,该值即为上图中测出的DeltaBlue 分数。

我们也在一个8 核AMD FX-8350 处理器、SSD 硬盘的计算机上运行了相同的测试,但是这次是与JVM 7 的64 位服务器版本做比较。在将每个测试运行10 遍之后,得到了以下平均结果:

VM

Average Time (us)

Score

Java HotSpot™ 64-Bit Server VM 1.7.0_21 23.21-b01

1808.18

553.04

Dart-22416

1885.02

530.5

Dart-22610

1610.48

620.93

在我们的测试中,与 JVM 相比,Dart VM 表现出 12% 的性能优势,这与 Botev 的发现一致。

数月前, Greg Lowe 给出了他在JVM 和Dart VM 上运行DeltaBlue 的结果,但他的基准测试使用的是Sun 的原始DeltaBlue 代码,它采用Java 编写并包含一段热身时间:

Lowe 的测试结果中,测试运行次数超过 1000 遍以前,Dart 都体现出了更好的性能;而 Java 在测试运行超过 10000 次后性能更好。鉴于 Botev 的最新测试使用了新版本的 Dart VM,Lowe 在一个 Dart 邮件组中评论道:

我看了一下,看起来 DartVM 现在即使在运行 100000 遍的时候也能够击败 JVM(此前,在运行次数超过一定阈值后,Java 险胜 Dart)。

在我的计算机上,运行 100000 次耗时约为 45 秒。

在运行次数更少时,与 JVM 相比,DartVM 显著胜出。

虽然我们不能够基于一个基准测试就得到最终的结论,但我们可以放心地说,Google 已经将 Dart VM 的性能提升到很高的水平,Dart 成了一个有力的竞争者。

查看英文原文: Latest Dart VM Beats JVM in DeltaBlue Benchmark


感谢臧秀涛对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。