Saturday, May 23, 2009

V8 and JavaScriptCore are really, really fast

JavaScript was born in 1995. Still, on the JavaScript VM scene three months is a lifetime. As Mark Rowe commented, I benchmarked a nightly V8 against a three months old JavaScriptCore (SquirrelFish). Which turned out to be unfair. Read the previous post for more information. Here's a new short version and new results:

On my machine given my unscientific measurements in Q2 2009:
V8 and JavaScriptCore are really, really fast.
TraceMonkey is fast, but often far behind really, really fast.

V8: Chromium 3.0.182 (182.0) snapshot 16837 23 May 2009
TraceMonkey: Firefox 3.6a1pre nightly latest-trunk 22 May 2009
JavaScriptCore (SquirrelFish extreme): WebKit r44078 nightly 23 May 2009

For the SunSpider bars lower is better, for the others higher is better. Read the previous post for more information.

    6 comments:

    1. Thanks for the update. Pity of the Neanderthal comments here, ignore 'm :-)

      ReplyDelete
    2. This is super cool, but the similarity of speed makes me wonder if they hit a wall. Is the the next in a long line of substantial increases in javascript speed, or the last significant squeezing of speed out of a language that can't be optimized much more.

      ReplyDelete
    3. Thanks. I have deleted those and from now on only registered users can comment so it shouldn't happen again. It shows that people with only half a brain can use a web browser which is both a good and bad thing, I guess.

      ReplyDelete
    4. David I don't think so. All of the benchmark suites consists of a number of tests and if you dig deeper into those you'll find cases where V8 and JSC are currently very different in speed. That alone is an indication of remaining optimization headroom.

      And then benchmarks are just benchmarks..

      ReplyDelete
    5. Makes me wonder how close these are to optimized c code?

      ReplyDelete
    6. The performance of JavaScript engines is now excellent, but the dirty little secret of browsers is that DOM performance is *not*. In many applications the DOM is now the bottleneck, not JavaScript execution.

      If we want to see JavaScript replace Flash for graphics intensive applications like games a lot of work will be need to be done in optimizing DOM operations.

      ReplyDelete

    Note: Only a member of this blog may post a comment.