Firefox 7 is lean and fast

Based on a blog post originally posted here by Nicholas Nethercote, Firefox Developer.

tl;dr
Firefox 7 now uses much less memory than previous versions: often 20% to 30% less, and sometimes as much as 50% less. This means that Firefox and the websites you use will be snappier, more responsive, and suffer fewer pauses. It also means that Firefox is less likely to crash or abort due to running out of memory.

These benefits are most noticeable if you do any of the following:
– keep Firefox open for a long time;
– have many tabs open at once, particularly tabs with many images;
– view web pages with large amounts of text;
– use Firefox on Windows
– use Firefox at the same time as other programs that use lots of memory.

Background

Mozilla engineers started an effort called MemShrink, the aim of which is to improve Firefox’s speed and stability by reducing its memory usage. A great deal of progress has been made, and thanks to Firefox’s faster development cycle, each improvement made will make its way into a final release in only 12–18 weeks. The newest update to Firefox is the first general release to benefit from MemShrink’s successes, and the benefits are significant.

Quantifying the improvements
Measuring memory usage is difficult: there are no standard benchmarks, there are several different metrics you can use, and memory usage varies enormously depending on what the browser is doing. Someone who usually has only a handful of tabs open will have an entirely different experience from someone who usually has hundreds of tabs open. (This latter case is not uncommon, by the way, even though the idea of anyone having that many tabs open triggers astonishment and disbelief in many people. E.g. see the comment threads here and here.)

Endurance tests
Dave Hunt and others have been using the MozMill add-on to perform “endurance tests“, where they open and close large numbers of websites and track memory usage in great detail. Dave recently performed an endurance test comparison of development versions of Firefox, repeatedly opening and closing pages from 100 widely used websites in 30 tabs.

[The following numbers were run while the most current version of Firefox was in Beta and capture the average and peak “resident” memory usage for each browser version over five runs of the tests. “Resident” memory usage is the amount of physical RAM that is being used by Firefox, and is thus arguably the best measure of real machine resources being used.]

2
3

The measurements varied significantly between runs. If we do a pair-wise comparison of runs, we see the following relative reductions in memory usage:

Minimum resident: 1.1% — 23.5% (median 6.6%)
Maximum resident: -3.5% — 17.9% (median 9.6%)
Average resident: 4.4% — 27.3% (median 20.0%)

The following two graphs showing how memory usage varied over time during Run 1 for each version. Firefox 6′s graph is first, with the latest version second. (Note: Compare only to the purple “resident” lines; the meaning of the green “explicit” line changed between the versions and so the two green lines cannot be sensibly compared.)
Firefox 7 is clearly much better; its graph is both lower and has less variation.

ff6
ff7


MemBench

Gregor Wagner has a memory stress test called MemBench. It opens 150 websites in succession, one per tab, with a 1.5 second gap between each site. The sites are mostly drawn from Alexa’s Top sites list. I ran this test on 64-bit builds of Firefox 6 and 7 on my Ubuntu Linux machine, which has 16GB of RAM. Each time, I let the stress test complete and then opened about:memory to get measurements for the peak resident usage. Then I hit the “Minimize memory usage” button in about:memory several times until the numbers stabilized again, and then re-measured the resident usage. (Hitting this button is not something normal users do, but it’s useful for testing purposes because causes Firefox to immediately free up memory that would be eventually freed when garbage collection runs.)

For Firefox 6, the peak resident usage was 2,028 MB and the final resident usage was 669 MB. For Firefox 7, the peak usage was 1,851 MB (a 8.7% reduction) and the final usage was 321 MB (a 52.0% reduction). This latter number clearly shows that fragmentation is a much smaller problem in Firefox 7.
(On a related note, Gregor recently measured cutting-edge development versions of Firefox and Google Chrome on MemBench.)


Conclusion

Obviously, these tests are synthetic and do not match exactly how users actually use Firefox. (Improved benchmarking is one thing we’re working on as part of MemShrink, but we’ve got a long way to go. ) Nonetheless, the basic operations (opening and closing web pages in tabs) are the same, and we expect the improvements in real usage will mirror improvements in the tests.

This means that users should see Firefox 7 using less memory than earlier versions — often 20% to 30% less, and sometimes as much as 50% less — though the improvements will depend on the exact workload. Indeed, we have had lots of feedback from early users that the latest Firefox update feels faster, is more responsive, has fewer pauses, and is generally more pleasant to use than previous versions.

Mozilla’s MemShrink efforts are continuing. The endurance test results above show that the Beta version of Firefox already has even better memory usage, and I expect we’ll continue to make further improvements as time goes on.

View full post on Mozilla Hacks – the Web developer blog

Tagged on: , ,

20 thoughts on “Firefox 7 is lean and fast

  1. Transcontinental

    The big turn started with Firefox 4, and Route 66 truly appeared with Firefox 7. I notice it every day, much faster start (cold & warm) and pages’ rendering velocity. Everything here is fast and smooth (and yet I have 60+ extensions on a 1.6gH machine!). A great achievement and, as they say, a work (always) in progress. Gee, when I see all that has been done, improved since Firefox 2.* (that’s when I adopted Firefox as default browser) I remain stunned! What a fantastic browser 🙂

  2. Rahly

    I dont know what you people are doing, but i’ve left pre3.x open for almost half of a year, with 6-7 tabs open consistantly, and it was maxed out at 200 megs. The only time i’ve ever seen massive memory usage was when you have something like firebug installed, because it makes like 20-30 copies of the entire DOM in memory. Trust me, remove the crappy memory using plugins and there will be no problems.

  3. Kenneth

    Thank you so much that this thing has been fixed… I thought I would never use my old time favorite browser because I temporarily use another one for the issue of the memory usage.. Now its great to be back again

  4. Jim

    Memory usage still seems to be climbing on my system for no really apparent usage (with FF7.0 and FF7.0.1 today).

    I start Firefox with a blank page – and it’s using about 115-150 MB memory.
    Then I viewed the release notes for the 7.0.1 and then this hacks page to read what others were commenting. All this with only the one tab, and Firefox is now using 291 MB and still climbing. The app’s only been open for maybe 5-10 minutes.

    I’ve seen the same type of memory climb happen also with all extensions disabled so it does not appear to be extension related – and I have verified that all the active plugins are up to date. Beyond that, I don’t know what can be done to stop the slow climb (it’s now up to 299.9 MB as I type this last bit of my comment here)

  5. Sante

    The extension you mentioned does not makes firefox use less memory, it only hide memory consumption to Windows task manger. For testing this you have to look at your free memory and you’ll that with or without memory fox you will have the same free memory on your system.

  6. Jabbawest

    This headline looks familiar. Oh right, something like this was said for 5 too but it was a memory and resource pig.
    I know it’s free but 3 was a far less resource hog than five. Doesn’t beta testing feedback tell you these thing? I know I reported this issue with 5 yet it was still rolled out with the same boastful headline.
    I’ve suffered long enough, please get it right this time.

    Thank you

  7. Thomas Svenson

    Without a doubt you have scored amazing results with the shrinking of usage of physical RAM. I haven’t had one “Not responding” situation since upgrading to FF7. It is much snappier and I don’t have to restart it every hour.

    However, while valuable RAM is freed up it still keeps growing Commit Size continuously. Right now it is over 3GB for me and the browser is noticeable slower. If that can be fixed as well, its very possible I could uninstall the the “Restart Firefox” extension since I would hardly need to use it based on how good the improvements to RAM is.

  8. Ttoviyah

    It’s great to hear about this update, and I certainly hope these memory issues will continue to be improved. My MacBook with 2 gigs of memory was working hard, and I had just switched in the last week to using other browsers. I’m excited to be back on the Mozilla bandwagon.

  9. Rational Db8

    Plenty of us are still using 3.6 for various reasons, including not trusting new releases to not be buggy. I tried 5 briefly, and went back to 3.6. The memory improvements are great and sorely needed – BUT, how does it compare to 3.6?? You folks want us to upgrade, then show us how it compares to what we are currently using.

  10. Bward

    This is great, firefox has been using over one gig of memory for quite a while now on my system. it is currently only using 485 Meg. I had been really frustrated with it.

  11. Carl114

    Thank you! I often open many articles and pages (i am bloger). Sometimes more than 30th I hope the update helps. Memory usage was really bad.

  12. Adam

    Wow, the difference is noticeable! I’ve been using chrome because firefox was taking too much memory before ( I have only a 512mb card). It seems firefox is doing a better job now. Chrome seems to spent much of the time swapping to disk, and it can get reeallly slow..

  13. Jack_India

    First i want to say you a big “Thank You” for addressing the major problem that every mozilla user frustrated about frequently.

    I think i may get the guiness record for crashing Mozilla a 5000 times within 5 months.

    All crashes are happening when using more than 50 or above 100 tabs.
    I have 2gb ram and firefox usually crashes automatically when memory usage tops to 850 MB – 1GB.

    I lose every patience when firefox crashes in the middle of surfing e-mail or any other important topic.

    And rest i could only see is a Mozilla Crash Reporter window.
    But clicking Submit Report was always been a failure, when it always says “Firefox cant submit report because of some problems”.

    Anyway would like to see many improvements only in Memory management of firefox, because people only want stability from a browser to browse infinitely.

    —>Thanks a million lot for the memory optimization…

  14. Daniele

    I know that is not scientific and that can be mean nothing, but with firefox 4 and firefox 5, memory taken by firefox on my Lion is about 600Mb, same thing with firefox 7, i can’t see any improvement. On windows i have completely solved the problem with memory fox (a firefox extension) that (for me) lowered memory from 300-400Mb to 50-100

Leave a Reply