Performance and responsiveness are a big focus in the latest release

Jun 4, 2012 14:10 GMT  ·  By

Firefox 13 is hours away from being released. It's a solid update and comes with several new features. However, one thing that Firefox 13 introduces will be felt throughout though it will be hard to pinpoint, speed. Firefox 13 will be the "snappiest" yet thanks to a number of new features and improvements.

Tabs on demand

One way Firefox 13 loads faster and is responsive very soon after launching is by cheating, that is, by only loading the tabs users see and leaving the background tabs for later.

This is especially useful if you have a lot of tabs opened at startup. Rather than load and render all those websites at once, Firefox just loads the tabs you see, the only ones that matter anyway. If you switch to a new tab, it will start loading.

This will mean that there will be a slight delay every time you switch to a new tab, which hasn't been loaded already, but this is preferable to a massive delay when you first start the browser. This feature is enabled by default in Firefox 13, so all uses should benefit from it.

Faster startup

Mozilla has been working on speeding up Firefox startup before any page is loaded as well. It's been analyzing the startup sequence and identified several issues that caused slowdowns.

The team has been optimizing everything that happens before "first paint," i.e. before a user sees any UI, so that this happens sooner after you launch Firefox.

Optimizations to "file calls, audio sessions, drag and drop, and IO" are some of the things Mozilla has done to shorten up startup time in Firefox 13.

Improved cycle collector resulting in less pauses and "micro-freezes"

Another area where Firefox 13 has seen major improvements is in sluggishness due to memory usage. Keeping memory usage in check is important for several reasons, for one, resources are finite, especially on mobile devices. More memory in use also means poorer performance since Firefox has to manage it all.

To keep memory requirements low, Firefox employs a cycle collector that analyzes the memory in use to decide what can be safely deleted. This frees up space, but the collector also interferes with Firefox since the browser has to pause everything it is doing during the check.

These pauses manifest jenky behavior, especially noticeable in JavaScript intensive websites. Mozilla has improved the way the cycle collector works, by optimizing its behavior and by also using it more sparingly, when it makes the most sense.