Firefox 3.1 Beta 1 First Impressions

Firefox has just released it's newest beta. In this beta is their new javascript engine called TraceMonkey which is, however, disabled by default. It's easy to enable though by toggling a simple option in about:config. Look for "javascript.options.jit.content" and set it to true.

I've been playing around with the newest beta and I must say the new javascript engine is incredibly fast. I haven't used chrome, but wow I am very impressed. When using gmail my messages seemingly instantly load from the inbox. There's no 1 or 2 seconds to wait for the javascript to load as with the old engine.

To further test this, I decided I'd run SunSpider JavaScript Benchmark in both the 3.1 Beta with TraceMonkey enabled and 3.0.3 to see if there's a real improvement here. After running the tests I was even more convinced that TraceMonkey is going to definitely make webapps much more popular. In short, total time to complete test for 3.1 Beta using TraceMonkey was 2499.8ms while 3.0.3 finished at 4297.0ms. That's an astounishing 1.7 second (1797.2ms) difference. With almost 2 seconds of difference you can see how big of a difference that would make on a site relying heavily on JavaScript such as Gmail. These tests show TraceMonkey as being 1.72x faster at rendering javascript than the old engine. Mozilla has said TraceMonkey has plenty of room for improvement so things will only get better. Currently it is said TraceMonkey is faster than Google's Chrome but I cannot verify this for myself with no Linux version of the browser out yet.

Some Tips

Some quick useful tips to use the latest beta without losing all your addons. Download Firefox 3.1 Beta and just save it in a seperate folder so you can easily switch from 3.1 Beta to 3.0.* with no problems (NOTE: This probably will not work with Windows or Mac OSX versions since it will just over write the existing installation).

Enable all your addons: visit "about:config" right click and choose New -> Boolean and enter "extensions.checkCompatibility" and set it to false. This doesn't check your extensions to see if they are compatible and should work fine in most cases.

I already covered this above but just for simple reference, enable TraceMonkey by setting "javascript.options.jit.content" to true.

Check out the new Ctrl+Tab feature. Open 3 or more tabs and switch between with ctrl+tab and you'll see a new 3D visualization like you see in most operating systems with alt+tab.