Newbies What Next ? News Forums Calendar

Firefox Tips

Use the TraceMonkey JavaScript engine

TraceMonkey adds native code compilation to Mozilla’s JavaScript engine (known as 'SpiderMonkey'). It is based on a technique developed at UC Irvine called 'trace trees'. This optimization technique adds just-in-time native code compilation with the effect that slow Javascript is converted into fast x86 code. Tracing works by watching for commonly-repeated actions (such as loops, function calls, or type checking) and tries to optimize their resulting native code into the lowest number of actions.

The net result is a massive performance increase both in the browser chrome and Web‐page content. Some functions can run more than 20 to 40 times faster.

TraceMonkey is in an advanced stage of development and is now included in the latest stable release of Firefox (v3.5x). So, if you haven't already, update to this version and then for an added performance boost:

- open a new tab

- type "about:config" and accept the warning

- enter "jit" in the filter box

- change the value of '' to (true)

- check the value of 'javascript.options.jit.content' is set to true

( is not officially supported yet)

Voilà! You are now running the fastest Javascript engine!

Alternatively, if you don't want to update your stable version of Firefox to 3.5, you can always install the latest nightly build of Firefox (available to download at in a separate directory. This pre-release version is called Minefield. You will need to enable both and javascript.options.jit.content as above.

Advanced TCP Tweaks

Pipelining is an aggressive technique that lets a browser send multiple requests before any responses are received, often reducing page download times. Some servers don't support pipelining. The following tweaks (including enabling pipelining) should not be used if you are on a narrowband connection.

browser.tabs.showSingleWindowModePrefs – true
network.http.max-connections – 48
network.http.max-connections-per-server – 16
network.http.max-persistent-connections-per-proxy – 8
network.http.max-persistent-connections-per-server – 4
network.http.pipelining – true
network.http.pipelining.maxrequests – 8
network.http.proxy.pipelining – true
network.http.request.timeout – 300
content.notify.ontimer - true

Other tweaks worth employing are:

trim_on_minimize - true (Windows only)
content.interrupt.parsing - true
content.max.tokenizing.time - 2250000
content.maxtextrun - 8191
content.notify.interval - 750000
content.switch.threshold - 750000

Back to the Beginning > >

Jump ahead:

1. Firefox Tips - Page 1 (Back to the Beginning)
2. Firefox Tips - Page 2 (previous page)
3. Firefox Tips - Page 3 (current page)

Bookmark and Share

Last Updated Sunday, October 04 2009 @ 09:58 AM EDT

We have written a range of guides highlighting excellent free books for popular programming languages. Check out the following guides: C, C++, C#, Java, JavaScript, CoffeeScript, HTML, Python, Ruby, Perl, Haskell, PHP, Lisp, R, Prolog, Scala, Scheme, Forth, SQL, Node.js (new), Fortran (new), Erlang (new), Pascal (new), and Ada (new).

Built with GeekLog and phpBB
Comments to the webmaster are welcome
Copyright 2009 - All rights reserved