Firefox JägerMonkey JavaScript Engine Beats IE9

Within 18 months, Firefox dropped from the leading JavaScript browser to dead last among the most popular browsers: IE, Chrome, Safari and Opera made huge advances and surpassed Firefox. The latest developer version of Firefox shows that Mozilla is back: For now, Firefox has caught up with Microsoft’s browser and is within reach of Opera and Safari.

How quickly the times can change. Four months ago, Mozilla made a surprising statement that it would roll out a new version of Firefox this year. Mozilla has been on a schedule to roll out a major version of its browser once a year since 2007, but Firefox appeared to be a risky quick shot. The Firefox man in charge, Mike Beltzner, pitched the new Firefox as a new browser that would be substantially faster than 3.5 and that would get a reduced GUI that would build on the perception that less menu can create the impression of a faster browser as well.

Today, we have Firefox 4.0 Beta 5, which just got default hardware acceleration and a menu update. It is about 30% faster in JavaScript disciplines than Firefox 3.6.x. Firefox 4 has plenty of new features, most notably the Panorama (or Tab Candy) visual tab organizer, but the development is slightly off track and is slightly delayed. Beta 5 was supposed to be the feature freeze release, but it seems that Beta 6 will actually be the browser that will reveal all new features in Firefox 4.

Overall, Mozilla planned to roll out seven betas of Firefox 4, but now it seems that we will get a total of nine, as major decisions are still to be made. For example, Mozilla currently considers dropping support for browsers that do not support Intel’s SSE2. It is somewhat unclear what that will mean, as Mozilla currently says that only original Athlon and 386-processors without SSE2 and older will be affected. However, SSE2 was not introduced by Intel until the Pentium 4 in late 2000. There is no final decision on this matter yet and we will have to wait and see how this works out. The RC1 release of Firefox 4 is planned for the second half of October.         

What's missing in the current beta is especially the new JavaScript engine. Beta 5 still runs on a (vastly improved) TraceMonkey engine, while Mozilla has been working on JägerMonkey, a new method Just-in-Time (JIT) JavaScript compiler for SpiderMonkey (which was used up to Firefox 3.5, which introduced TraceMonkey.) Earlier this year, Mozilla said that TraceMonkey does not have enough potential anymore to compete with the fastest browsers out there – which became clear when even Microsoft raced past Mozilla with its IE9 platform previews. According to Mozilla’s Dave Mandelin, the organization decided to go back to the drawing board and used eight months to do the basic research, reverse engineer other engines, analyze them and redesign and debug a new JIT.

JägerMonkey is the result and we have seen lots of progress over the past month on Mozilla’s Are We Fast Yet chart. But seeing the real thing is always different than reading reports, especially since we know that those browsers can behave very differently on various platforms. I have covered browser JavaScript performance now on a virtually weekly basis since the release of Firefox 3.0 and this new JIT is by far the most critical version for Mozilla so far. Yesterday, Firefox JS became available as an experimental Beta 6-pre version of Firefox 4 that integrates JägerMonkey for the first time.
So let’s have a look. I pitched recent browsers against each other to see where we stand. Here are the test results.

The performance increase of Firefox JS compared to Firefox 4 Beta 5 is substantial. The speed gain in Google V8 is more than 100% and almost 20% in Sunspider. Interestingly, Firefox JS now beats IE9 PP4, which will be released as IE9 Beta on September 15. I anticipate that Microsoft has fine-tuned IE9 again and that the browser will come in much closer to 400 ms in its first Beta. For now, however, Mozilla has caught up and it appears that it has every opportunity to reach 400 ms in this particular benchmark as well.

Safari and Opera could be in reach of Firefox as well, but Chrome may be too far away. Subjectively Firefox 4 JS feels more nimble that Beta 5 and seems to be much more responsive. Labeled as a Minefield browser, it is a developer version that is less stable than the Betas and is most certainly missing key features. For example, the hardware acceleration implementation is apparently different from the version in Beta 5. In Microsoft’s Psychedelic Wheel test, the Beta 5 scores 1769 revolutions, while the JS browser came in at 1075. IE9 PP4, by the way, scored 1794 revolutions and the latest Chrome 7 nightly build from this morning only 12.  

Mozilla’s Rob Sayre has posted Firefox JS benchmarks as well. The charts show how different the results can be on different systems. Running on his Lenovo Thinkpad X20, Firefox JS is slightly behind IE9 PP3 and Opera 10.61 is listed as the fastest browser.

It is important to note that many different components are responsible for the overall browser performance and if we believe Microsoft, then JavaScript is responsible for only 20-30% of the speed you see on your screen. That may be even less in the future as hardware acceleration becomes more important. So take these results with a grain of salt, even if Sunspider appears to have become the de-facto benchmark to indicate the performance capability of a browser today. The bottom line is that Firefox 4 will, as far as we can see now, will keep most of its promises and should be a very capable and competitive browser when it is released later this year.

The one promise I am not buying is the claim that the JavaScript performance of Firefrox 4 will match or surpass all of Firefox’ rivals. But, at this level, this may be irrelevant anyway. 

  • crossbow82
    I'd use it just because it's called JägerMonkey... that and it's Friday. No but really, that's awesome to see continual browser improvements from various companies. I'm all for it.
  • sliem
    Should have called it Firefox Jabberwocky.
  • SchizoFrog
    Even my browser is going to be on Jagermeister... YAY!
  • jomofro39
    JägerMonkey, that is the best name I have ever heard. I hope other companies follow suit and we soon see a SvedkaApe, PatronGorilla, and whole hoard of CaptainMorganOrangutans. But seriously, here's to good competition upping the ante, once again.
  • silentq
    are they gonna add some RedBull on Monday to get some more productivity into it?
  • be nice if you omit IE8 from the first chart seeing as it makes it harder visually to discern the actually difference between the other browsers, seriously you added an extra 4000 grades just for 1 browser.......
  • willgart
    Javascripting is not everything on a site. there is other component to consider. so fighting all the time just on this doesn't represent the reality.

    its like a CPU or a GPU, until you do comprehensive tests using different games or applications, you don't know which one is better.
    Also, having the fastest browser in the world mean nothing if the web server can't provide the right speed! (and your ISP too)
  • zak_mckraken
    So you're telling me a Beta browser is better than another Beta browser? Not much to be excited about... for now. I'll be glad to read the same benchmarks once they actually go live.

    And I also hop on the naming bandwagon. Everything is better when it has a kickass name. I'll use anything with Ninja, Shark or Jack Daniels in it.
  • iamtheking123
    IMO anyone who cares about javascript speeds won't be using IE9 on principle alone.
  • tolham
    competition is good!