Tracemonkey

According to the site, Mozilla wants to release Firefox 3.1 Beta 2 pretty soon, in early December, and as everyone should really know by now, it is one of the most exciting browser updates to be released for some time, particularly for Javascript developers. I used to work quite a lot in Java, a language similar in syntax, writing a(nother) version of the Game of Life, a graphics-light version of Geometry Wars and a little matrix applet, all of which were great fun to write. I really love Java; perhaps it’s because I had been using Visual Basic for several years before suddenly finding this far superior language. Or perhaps it’s the way it successfully merges an intuitive elegant curly-bracketed syntax with an convenient easy-to-use applet for interfacing with users.

Predictably Steve Jobs thinks otherwise: “Java’s not worth building in. Nobody uses Java anymore. It’s this big heavyweight ball and chain”. So iPhone apps will use Objective C, a fairly disgusting and overcomplicated and unconcise language in my humble opinion.

Click for full-size image.

Objective C Screenshot

Eclipse Screenshot

Returning to Javscript (Java really hasn’t got much to do with JS besides syntax), it’s also the case that most web apps use javascript (or AJAX) – it appears to set the standard for frontend user interfacing. So the Firefox developers decided to do something about it and have blown all the other browsers out of the water with an unbelievably fast javascript engine, Trancemonkey. It’s available in Beta, and being that sort of person I couldn’t resist giving it a spin. It was fast.

I ran some tests using the Sunspider Javascript Benchmark. The first four data points were recorded at home using my computer and the last three at school. Embarrassingly the school computers seem twice as fast at JS rendering than my own, possibly a function of my having about 15 tabs open (including JS pages such as Google Reader) and music running in the background, although the difference should really be minimal. Here’s a graph of results – displayed are the times taken to run the test; shorter bars are better.

Browser JS Comparison Graph

Browser JS Comparison Graph

Click here for full-size graph

Sunspider provides some really in-depth information which may be of interest (my computer is called ‘BTComp’ and time to run in ms is in [square brackets]):

BTComp FF 3.1 Portable + Tracemonkey [2,506]
http://tr.im/1msn

BTComp FF 3.1 Portable [4,346]
http://tr.im/1msv

BTComp FF 3.04 + Plugins [4,966]
http://tr.im/1mt1

BTComp IE 7 [42,283]
http://tr.im/1mte

School FF 3.0.3 [2,561]
http://tr.im/1mum

School Safari 3.1.2 [3,059]
http://tr.im/1muo

School IE 7.0.5730.13 [23,382]
http://tr.im/1muq

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: