links for 2007-12-20

Firefox 3 beta 2 JavaScript benchmark plus why Flock is faster than Firefox 2

I discovered the SunSpider benchmark through a Jeff Atwood’s post on the same topic where he has given the JavaScript performance comparison for different browsers. His list do not include the browser betas though. Since I’ve been trying out Firefox 3 beta, and it seems a lot snappier than version 2, I decided to give it a try. To make things interesting, I also tried out the benchmark on the other browsers I had – Opera 9.20 (not the latest), Flock 1.0.3 (which is based on Firefox 2) and IE7.

I ran the benchmark once each on the browsers. My system configuration is as follows:

  • Pentium 4 2.8 GHz
  • 2 GB RAM
  • Windows XP Professional with SP2

Do note that I did not create any special setup for the browsers, i.e., they had their plugins and extensions enabled. This might have affected the performance, but then again it also simulates more of a real world scenario.

Results (links lead to results on SunSpider page – complete results in this Google spreadsheet)

Browser JS benchmark graph

Browser Time (ms) – lower is better % better than FF2



0.0 (baseline)

Firefox 3 beta 2



Opera 9.20



Flock 1.0.3



Internet Explorer 7




The benchmark result shows that there have indeed been significant improvements in Firefox 3 over 2, with an overall gain of over 50%, and the performance is close to that of Opera. There are tests where Firefox trumps Opera, but overall Opera still has the lead. However, there seems to be some downsides to the Firefox 3 optimizations at least as of beta 2, as the rich interfaces of Yahoo Mail and Windows Live Mail do not work.

The other important observation is that Flock is significantly faster than Firefox despite being based on the Firefox 2 code. The Flock developers have definitely optimised the code, and this shows. (Update: not sure about this, based on Mike Shaver’s comment below, and my own observations on a different PC)

As for IE7, it actually performs reasonably well, and is on par with or better than Firefox for a majority of the tests (also shown by Jeff Atwood). However, the string tests turns out to be IE7’s Achilles heel with the time taken (72347.8 ms) being 10-15x that of the other browsers.

I haven’t tried out the benchmark on Opera 9.5 (still in beta) yet, and there may be further optimizations there too. Safari was also pretty fast as per Jeff Atwood’s post. I hope to test out these two browsers as well, and possibly on other systems to see how much the system configuration affects the results.

Check out the detailed results in this Google spreadsheet (Firefox 3 seems to have problems with Google Docs – it was only showing the all documents page).

Update: Based on Mike Shaver’s suggestion (comment no.1) I tried out the tests for Firefox 2 and Flock on a different PC (Athlon 64 3200+, 1 GB RAM), both in safe mode and with extensions enabled, and found the results to be similar (FF2 is slightly faster this time). I hope to do more tests, and in the mean time if you have any results or observations to share you are welcome to share them.

Browser Time (ms) – lower is better
Firefox w/ extensions
Firefox safe mode
Flock 1.0.3 w/ extensions
Flock 1.0.3 safe mode

links for 2007-12-19

Firefox 3 beta 2 and incompatible extension workarounds

I had posted earlier on my initial experiences with the Firefox 3 beta inside a sandbox, and decided to hold off on a full time switch to the beta as most of my favourite extensions were incompatible. The incompatibility status for the extensions has not changed, but I discovered an easy workaround (no hacking around xpi) today when looking around for a working mousse gestures extension.

All I had to do was to create a “extensions.checkCompatibility” boolean field in the Firefox about:config and set it to false. As you can guess, this disables the compatibility check for the extensions, and all the disabled incompatible extensions are enabled (with warning messages). Of course, this does not guarantee that the extension will work. Also the browser crashed on the first restart (the subsequent restart was fine though).

However, I was able to get most of the required extensions working this way (not extensively tested). They include Mouse Gestures, bookmarks, Greasemonkey (Update 22/01/2008: Greasemonkey just got an update today and is now supported on Firefox 3 beta), MR Tech Local Install (this one can override extension compatibility versions) and PDF download. Some extensions remain unusable though like Tab Mix Plus (possibly due to the architectural changes) and Google Gears (might be because I’m running inside a sandbox). Not a major loss, though I miss some of the tab tweaks provided by Tab Mix Plus.

I plan to use the beta inside the sandbox as my primary browser now that the extensions problems has been worked around. I’ll post my findings in in a few weeks, by which time some updates are likely to be available.

As for the changes from beta 1 to 2, check out the release notes. Of note is the fact that the rich interfaces of Yahoo Mail and Windows Live Mail are still unsupported.

There seem to be further tweaks to the memory usage (image below) and rendering. The interface hasn’t changed much, though a Smart Bookmarks folder seems to have been added to the bookmarks toolbar. The earlier location bar update that includes suggests autocomplete entries based on the page titles and not just the link text is quite a useful feature.

And to sign off here’s a comparison of the memory usage of v2 (top – gray) vs v3b2 (bottom – blue) with the same 8 tabs open in each, taken using process explorer. Note that there are fewer extensions in v3b2 and it is running in a sandbox.

Firefox 2 vs 3b2

links for 2007-12-18

links for 2007-12-17