Shortly after Dart2js outperformed hand-written JavaScript, the latest Dart VM now beats JVM 7 64-bit Server, and other versions, in the DeltaBlue benchmark.

Nikolay Botev has ported the DeltaBlue benchmark from Dart to Java and run the benchmark against Dart-22416 (latest stable release) and Dart-22577 (a nightly build), and against several Java client versions, posting the following results on his blog:

The fist column contains the time in us needed to run one iteration of the test while the second column represents the number of runs/sec, being the DeltaBlue score charted above.

We have also run the same tests on a 8-core AMD FX-8350 machine with SSD, but this time against JVM 7 64-bit Server, getting the following average results after 10 runs of each test:

VM Average Time (us) Score Java HotSpot(TM) 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

In our test, Dart VM shows 12% better performance than the JVM, which is consistent with Botev's findings.

Greg Lowe posted his results on running DeltaBlue on JVM and Dart VM a couple of months ago, but his benchmark uses Sun’s original DeltaBlue code written in Java which includes a warm-up time:

Lowe’s results show better performance for Dart up to 1,000 iterations of the test, while Java performs better after 10,000 iterations. In the light of Botev’s latest tests, which uses a newer Dart VM, Lowe commented on a Dart group:

I had a quick look at this. It appears the DartVM is now beating the JVM even at 100,000 iterations (Previously Java edged out Dart at higher iterations). 100,000 iterations takes ~45 seconds to run on my computer. At a lower number of iterations the DartVM beats the JVM by a significant margin.

While we cannot draw final conclusions based on a single benchmark, we can safely say that Google has enhanced Dart VM’s performance to the point where it becomes a serious contender.