V8, TraceMonkey, SquirrelFish, IE8 BenchMarks

After reading about the new JavaScript VM in Google Chrome (called V8) I was wondering how it would stack up against the new JS engines from Mozilla (TraceMonkey) and WebKit (SquirrelFish). I ran 3 tests across all the browsers, including IE8, and here are the results.

Setup:

  • Chrome [Build 1583 - 0.2.149.27]
  • FireFox 3.1 Nightly [1.9.1b1pre/200809020331]
    - w/ javascript.options.jit.* set to true except in the SunSpider tests, where jit.content was set to false because it crashes.
  • WebKit Nightly [r36012]
  • Internet Explorer 8 [IE8 v8.0.6001.18241]
    - I doubt numbers are accurate, asked me once for Chrome tests if I wanted to stop the unresponsive script, about 50x for Dromaeo
  • Windows XP SP3, AMD Athlon 64 X2 3800+, 2GB RAM
  • Restart each browser after every test
  • SunSpider, V8 BenchMark, Dromaeo

Click continue for results and charts…


Bigger the Better

  • Chrome – 1083
  • WebKit – 191
  • FireFox – 106
  • IE8 – 42

Needless to say, Chrome’s V8 blows away all the current builds of the next-generation of JavaScript VMs. Just to be clear, WebKit and FireFox engines haven’t even hit beta, but it looks like the performance bar has just been set to an astronomical height by the V8 Team.

Update: Brendan has has posted new TraceMonkey favorable benchmarks with the latest TraceMonkey build vs V8. A little friendly competition is awesome but since all these projects are open source the community is the real winner here.

Also I downloaded the latest trunk build of FireFox [1.9.1b1pre/20080903034741] and re-ran the tests:

The latest build is definitely optimized for the SunSpider test, even beating V8. However, it still lags behind in Dromaeo and the Chrome Tests. (The V8 team optimized the engine specifically for the Chrome Test so it’s very biased.)

Update 2: Apparently Resig has been working on a v2 of Dromaeo that includes a lot more DOM manipulation tests.

Chrome and FireFox are evenly matched here. WebKit comes out on top…

Also, being the JavaScript ninja that he is, John Resig has a much better write up on the topic than I.