Monthly Archives: September 2008

Friend of the tree — again!

I’m honored againChris Blizzard kindly nominated me as one of this week’s Friends of the Tree for my work on private browsing.  It’s the second time I’m nominated as a Friend of the Tree, and this time it’s even more interesting than the first time!  It’s great to see such enthusiasm and appreciation from this wonderful community which I’m proud to be a part of.

Posted in Blog Tagged with: ,

Private Browsing builds ready

Followup from my previous post, I prepared Windows and Linux builds for my Private Browsing patch.  You can download these builds and try them out.  Feedback is much appreciated!

Download Windows Build (11MB)
Download Linux Build (21MB)

Also, try server builds are now available for all three platforms (Windows, Linux, and Mac OS X) here.

Posted in Blog Tagged with: , , ,

TraceMonkey JavaScript benchmarks

Last night I decided to try the performance of the new TraceMonkey feature.  TraceMonkey is an improvement to Mozilla’s SpiderMonkey JavaScript engine, which enables JIT optimizations to SpiderMonkey, which means that the engine optimizes the parts of your JavaScript code which run repeatedly (e.g., loops).  For more information on TraceMonkey, check out Brendan’s announcement of TraceMonkey.  I gave Mozilla’s Dromaeo, Webkit’s SunSpider, and Google’s V8 Benchmark Suite a try, and the results follow.

Dromaeo.  Dromaeo is Mozilla’s JavaScript benchmark suite, which mainly consists of some of the SunSpider tests.  For a background on Dromaeo, see here.  It took 7108.80ms to run the entire suite on Firefox 3.1b1pre without TraceMonkey enabled, and 6920.80ms with TraceMonkey enabled.  The TraceMonkey version of the test was a tiny bit more faster, but nothing to get exceited about.  The exact details can be viewed here, with the left hand column being the test run without TraceMonkey.

SunSpider.  SunSpider is Webkit’s JavaScript benchmark suite.  For a background on SubSpider, see here.  SunSpider without TraceMonkey ran in 2953.6ms, but after turning TraceMonkey on, SunSpider ran in 1772.8ms (which is 1.67 times faster)!  You can compare my result with and without TraceMonkey to judge for yourself.

V8 Benchmark Suite.  V8 Benchmark Suite is Google’s JavaScript benchmark suite which was recently released, with the release of the V8 engineThis page provides a simple explanation of their suite.  V8 Benchmark was exceptional in that turning on TraceMonkey actually made it run slower, from a score of 183 without TraceMonkey down to 168 with TraceMonkey.  I’m not sure exactly how these scroes can be compared though.

You can try to run these tests for yourself.  All you need is a recent Firefox 3.1 build, and changing a small preference to turn TraceMonkey on.  I’m very curious as to where the TraceMonkey project is headed, and what further optimizations we can expect, so this will be an intriguing progress to follow.

Posted in Blog Tagged with: , , ,

Private Browsing for Firefox upcoming

With the feedback from Alex Faaborg on the status of Private Browsing in Firefox, and urged by the Incognito browsing mode in Chrome and Internet Explorer’s InPrivate Browsing (and of course, Safari’s Private Browsing mode), it seems that there’s a chance to have this in Firefox 3.1.  In case you don’t already know, I had written a patch which added support for the Private Browsing mode a while back, but it never saw the light of the day.  Now, I have a new patch which implements the new requirements nearly completely (the only part missing from it is disabling DOM Storage in private mode.

What happens when you run Firefox with this patch is, when you enter the private mode via the Private Browsing menu entry under the Tools menu, all of your logged sessions get invalidated, your whole cookie list is cleared, and the site permission controls in Page Info windows get disabled.  When you’re working in the private mode, no record of your browsing history is ever saved, all cookies are treated as session cookies, Firefox will not auto-fill the password forms for websites with saved passwords, and will not prompt you for saving the password on websites where you enter your password for the first time, and also will not save auto-complete entries for what you enter in the web forms or keep your downloaded files in the list of your downloads.  This will make it very difficult for anyone using your PC to tell which websites you have visited during the private browsing session (although the owners of the websites will be able to track your browsing just like in the usual browsing mode).  When you exit the Private Browsing mode, all browser services return to their normal operation, just like the moment you entered the private browsing mode.

At this point, we are looking for people willing to test this patch.  For now, you should apply this patch on Firefox trunk and build it yourself, but hopefully we’ll get builds for Windows, Mac OS X and Linux ready shortly so that people can test this new mode more easily.  Feedback in form of comments on this post as well as the Private Browsing bug is much appreciated.

Posted in Blog Tagged with: , , ,