While people argue about JavaScript performance in Chrome vs Safari vs FireFox, there’s one fact that is beyond dispute. Microsoft’s Internet Explorer 8 is hilariously slow in comparison. On Apple’s figures, IE8 is 5.9 times slower on its i-Bench JavaScript test and 7.7 times slower on the SunSpider test.
You may hardly notice this in normal browsing. It most likely takes longer to download the JavaScript than to execute it. In fact, download speed is still the most significant factor in browser performance, and changing your browser will do nothing to change that (though different approaches to caching might).
This could change though, if more web applications appear that make heavy use of JavaScript. Google Wave could be an example. In fact, this seems to be Google’s game plan: make the browser (backed of course by the Internet) the operating system. The larger these web applications become, the more difference that JavaScript performance will make.
Offline is another interesting case, enabled in Chrome by the Gears add-on. In this scenario, content is served locally so browser performance has a better chance to shine.
The big question: will Microsoft step up to the challenge and fix JavaScript performance in IE? The company could do so relatively easily, either by using one of the open-source engines (unlikely) or by applying its existing knowledge of just-in-time compilation, used to good effect in .NET and Silverlight, to JavaScript in the browser.
The horns of Microsoft’s dilemma: improve JavaScript and undermine the advantage of Silverlight, which runs code much faster. Don’t improve it, and see market share continue to decline in favour of faster browsers.
The right thing to do, of course, is to fix the JavaScript engine; but companies do not always do the right thing – and Microsoft may still be comforted by its 65% market share for IE. That’s false comfort; the share is in long-term decline.
Incidentally, I’ve noticed that Google, while not exactly taking the gloves off, is stepping up its promotion of Chrome. When I go to youtube, which is the 3rd most popular web site in the world according to Alexa, I now see this on every page, if not using Chrome:
I don’t always see an ad on the Google home page itself – Alexa’s number one site – though occasionally I do see this on the right:
All very low-key; but I reckon we’ll see Google step-up its campaign as Chrome itself gets better and the Mac version appears. With Apple, Google, Mozilla and of course Opera all gunning for Microsoft, it would take extraordinary complacency not to respond.
The big question: will Microsoft step up to the challenge and fix JavaScript performance in IE? The company could do so relatively easily, either by using one of the open-source engines (unlikely) or by applying its existing knowledge of just-in-time compilation, used to good effect in .NET and Silverlight, to JavaScript in the browser
Perhaps a third option is to use the Dynamic Language Runtime. JScript already compiles on the DLR.