Work done to plug Firefox's memory leaks and reduce its RAM profile has paid off, two of Mozilla's engineers said Friday, as they claimed that the newest beta of their open-source browser uses less memory than rivals such as Internet Explorer and Opera.
According to Mozilla software engineer Stuart Parmenter, who was instrumental in managing the memory reduction work, Firefox 3.0 Beta 4 uses less memory than IE7, Opera 9.5 Beta 1 and Firefox 188.8.131.52 while it opens multiple pages. Just as importantly, the newest beta of Firefox 4 does a much better job reclaiming memory when tabs are closed than its predecessor, Firefox 184.108.40.206.
"The terminal state of Firefox 3 is nearly 140MB smaller than Firefox 2. 60 per cent less memory!" Parmenter wrote in a long blog post earlier this week describing the work of Mozilla developers in reducing Firefox's memory footprint. "[And] Firefox 3 ends up about 400MB smaller than IE7 at the end of the test!"
Parmenter and others -- "hundreds" of contributors, he said -- used a variety of techniques to trim the browser's appetite for RAM, including reducing memory fragmentation, moving to an automated cycle collector, fine-tuning memory caches and hunting down individual "memory leaks," the term given to problems that an application has in releasing system memory once it's not using it.
One way developers cut Firefox 3.0's appetite was to adjust the various memory caches the browser uses to boost performance, including an image cache, the page cache for speeding up back and forward navigation, and a font cache to improve text rendering speed.
Firefox now discards content in the back/forward cache after 30 minutes, Parmenter said, and uses a timer-based font cache, too.
That work, and the other memory-related changes, have been worthwhile. "There are a bunch of different reasons why it's good to address memory [consumption]," Parmenter said. "The more memory churn, the slower the program will be. And you can look at it as a memory fragmentation [problem], where you can end up with bad effects over time due to holes in memory. It's hard to reuse certain sections of memory, and [things get] slower as applications look for a new place to allocate memory."
"People may have a lot of memory [in their computers today]," acknowledged Mike Schroepfer, Mozilla's vice president of engineering. "But they're also running more. You want to be a good citizen."
Firefox has long been criticized by both its own users and those who prefer rivals' browsers as a memory hog and an application that has more memory leaks than a forgetful witness in front of a congressional hearing. The longer Firefox is open, and the more pages and tabs it opens, the larger its appetite for memory, according to the complaints. At some point, the load becomes big enough to degrade overall performance of the computer, or in some cases, lock the browser. Closing tabs doesn't reclaim the memory; only shutting Firefox down and restarting does.