Mozilla developer ‘Pavlov’ wrote up some extensive details on memory use in Firefox 3. I highly recommend that you check it out.
I borrowed some of his data and created another view of the results. For example, here’s the results from Windows Vista of a number of browsers:
Note that both Safari 3 and IE 8 crashed during the test (which was a page runner which automatically opened and closed groups of web pages) so accurate numbers weren’t able to be achieved for them. Some preliminary numbers show Safari 3 on a similar path to IE 7 (Stuart mentioned that IE 8 showed a similar path, as well).
It’s great to see the massively-improved memory use of Firefox 3. It far excels anything that we offered, previously, and seems to best all other browsers on the platform.
Now, obviously, Windows Vista isn’t the only platform available. I, personally, use OS X and am interested to see the memory numbers there as well. One portion of Stuart’s blog post that I found to be particularly interesting was the discussion of measuring cross-platform browser memory use – and how difficult it can be. Here’s how he explains it:
The short summary is Windows Vista (Commit Size) and Linux (RSS) provide pretty accurate memory measurement numbers while Windows XP and MacOS X do not.
On Mac, If you look at Activity Monitor it will look like weâ€™re using more memory than we actually are. Mac OS X has a similar, but different, problem to Windows XP. After extensive testing and confirmation from Apple employees we realized that there was no way for an allocator to give unused pages of memory back while keeping the address range reserved.. (You can unmap them and remap them, but that causes some race conditions and isnâ€™t as performant.) There are APIs that claim to do it (both madvise() and msync()) but they donâ€™t actually do anything. It does appear that pages mapped in that havenâ€™t been written to wonâ€™t be accounted for in memory stats, but youâ€™ve written to them theyâ€™re going to show as taking up space until you unmap them. Since allocators will reuse space, you generally wonâ€™t have that many pages mapped in that havenâ€™t been written to. Our application can and will reuse the free pages, so you should see Firefox hit a peak number and generally not grow a lot higher than that.
I think it’s great to see these numbers come in. In many ways Firefox 3 is going to be a very different browser from its previous instantiations. I’ve, personally, been using it as my primary browser for a while now and have enjoyed the increased performance. It really does feel – and really even look – like a whole new browser.
If you’d like to try Firefox 3, especially without disturbing your current setup, it’s really easy – and I’ve even written up instructions to help you out.