Saturday, October 15, 2011

Firefox 7: Faster Performance and Conservative Memory Usage

Performance and improved memory use were the goals of Firefox 7, which arrived on schedule today from Mozilla. Firefox 7 is available to download for Windows, Mac, Linux, and Android
The new Telemetry feature asks you to opt in before it will collect your data.
(Credit: Mozilla)

The wide-release version of Firefox 7 brings changes to the majority of Firefox users that the beta and Aurora channels have been playing with for some time. These include claims of significant gains in reducing memory use, "often 20 percent to 30 percent less, and sometimes as much as 50 percent less," a company representative wrote in a blog post based on work by Firefox developer Nicholas Nethercote.

These performance gains are the first public results of an internal Mozilla project called MemShrink, which, as the name implies, is about reducing the browser's system impact. Mozilla cited several specific areas of improvement in Firefox 7, including when the browser is kept open for long periods of time, when multiple tabs are open at once, and when the browser is used concurrently with other programs that also use a lot of memory. The company also noted that MemShrink was successful in part because of the rapid-release cycle that a vocal minority of Firefox users have been criticizing.

The spotlight on performance is something that Mozilla clearly plans to keep lit. When you install Firefox 7, you'll be prompted to opt in to a new anonymous-reporting measure that the company is calling Telemetry. Not unlike security suites that use your data anonymously to improve threat detection rates, Mozilla plans to crowd-source its performance data to learn more about how the browser performs in real-world situations.

Unlike the security suites, Telemetry is an opt-in reporting system, so Mozilla won't be collecting data without permission. Lead privacy engineer Sid Stamm addresses security concerns in a blog post, but the short version is that Mozilla is far more open about the data it collects--and why it collects that data--than competitors such as Apple, Google, and Microsoft. Currently, Telemetry looks at four categories: memory usage, CPU core count, cycle collection times, and startup speed. Curious readers can install the about:telemetry add-on to see the personal statistics Firefox is gathering.

If you've enabled Telemetry and would like to disable it, you can go to Options, Advanced, and uncheck the Submit Performance Data box at the bottom of the General tab.

Mozilla chart showing decreasing Firefox memory usage.
(Credit: Mozilla)
Other changes in Firefox 7 for desktops include a new version of hardware-accelerated Canvas for faster HTML5 games and animations, and improvements for Web developers. These include support for the W3C navigation timing API, which allows developers to measure page load time and site navigation against factors like bandwidth, and a new set of Firefox tools for developers.

Firefox 7 for Android includes a laundry list of changes, including the ability to select text in a Web page for copying and pasting. Long-tap on a site, and the Android-style drag handles will appear. There's a new Quit feature under Preferences/More to force an exit from the browser, the WebSocket API now works on Firefox for mobile devices, and image rendering has been improved on Tegra-powered tablets and phones. The browser also now auto-detects your system default language if it's supported, and a new Preferences option enables you to change the language displayed in the browser on-demand.

Full release notes for Firefox for desktops are here, while Firefox for Android release notes can be read here.