Mozilla: Are We Slim Yet?
areweslimyet.com
areweslimyet.com
See also: http://arewefastyet.com/
A couple of years ago, I installed the RunKeeper app on my phone and started tracking how long it took me to walk places. Over the course of a few months, my walking speed increased from a pokey 5 km/h (3mph) to 8 km/h (5 mph). I didn't install the app with the goal of walking faster; it just happened as a side-effect of regular feedback on how fast I was walking.
Now measure all the things?
You do, however, have to be very careful that the "it" that is being improved is really the same as the "it" that's being measured. I've lost count of the times that I've seen a well intended metric end up driving exactly the wrong sort of behaviour.
(For example: I recently sat through an excellent lunch time rant from somebody whose boss is prioritising shorter simple-to-implement stories over longer ones with a higher business value, because their team is having their efficiency judged by the cycle time (length of time between story-in and story-out)).
http://lesswrong.com/lw/28r/is_google_paperclipping_the_web_...
https://wiki.mozilla.org/Platform/AreWeFunYet
http://areweplayingyet.org/ (from SoundCloud)
The irony (or maybe that's the point) of using this meme is that you'll never get to the end of the rainbow. A browser's work is never done.
I last compared only a few days ago. When I get back home, I can try again and see if I can get more analytic about what the difference is, but, as I said, part of the problem with this kind of aesthetic/design judgement is that I don't have the vocabulary to analyze it.
The difference is more obvious in Cyrillic text on the bottom -- there's something wrong with hinting in Firefox.
And another one: http://i.imgur.com/op1bj.png
http://support.mozilla.org/en-US/questions/890741 http://techlogon.com/2011/11/16/website-icons-missing-after-... https://bugzilla.mozilla.org/show_bug.cgi?id=702730
If they don't get this fixed I don't have much hope for them making it pretty.
Then one day I noticed their hidden profile manager, created a new profile and used it instead. A few months on and everything is still working like it should. No need to clear caches, it quits within seconds, no crashes and so on.
It's worth a try if you get something similar. Obviously something was screwed up with my profiles, it took a really long time to delete the old profile.
However, simply creating a new profile solved all my problems. Now, any time I run into an issue, I just create a new profile.
I know some people will simply suggest switching browser, but nothing handles hundreds or thousands of tabs better than firefox, and I'm not looking to change how I browse the web just to go easy on my browser...!
http://mozillalinks.org/2009/07/vacuum-your-firefox-database...
There was a bug request to auto-vacuum profiles after an upgrade, but the bug was closed as WONTFIX:
It's really nice to see that Mozilla is still taking this stuff into consideration. After all, memory has been a point of contention in the community since Firefox 3 or so.
I know the FF detractors are going to come out of the woodwork at any moment, but I feel that reports of Mozilla's death have been greatly exaggerated.
Do you use it as your fulltime browser? Why is it better than Webkit-powered alternatives?
A few months ago I had a conversation with somebody who complained that Firefox used too much memory (about 600 MB). I asked how much he had. He said 3 GB. That seemed more than enough to me, after all Gnome consumes 200-500 MB at login, depending on whether you're using 32 or 64 bit and which shell you're running (Gnome 2, Gnome Shell, Unity, etc). Turns out, Win7 was eating 2 GB at login, leaving him with only a gigabyte for other programs.
In my view, the operating system is just a platform to launch other stuff. It shouldn't use more than 25% of your memory. If it does, you should either get more RAM or slim down your OS. If his computer obeyed my rubric, he'd have plenty of room for Firefox. His anger was obviously directed at the wrong problem, but for some reason the OS (and all the crapware which loads at boot and runs in the background, even when it's not needed, consuming precious resources) gets a pass.
After a manufacturer begrudgingly provides the RAM that developers refuse to conserve, we shouldn't then use the presence of this additional RAM to use even more.
Your friend's anger at application waste is justified. Witness new devices like the iPad that survive with much less RAM than a desktop -- just 512MB, which happens to be enough to support an excellent browser.
Which of course can also be to the benefit of consumers: better a RAM-hogging release today than a memory-efficient release next month (if ever).
There were probably a few programs that run on startup (antivirus, IM, OEM-specific crapware if it's a laptop, "speed launchers" like adobe reader, updaters)
We explicitly don't want to cause this.
When we reduce the number of nodes in the live object graph, our garbage collector and cycle collector run faster. This results in shorter stop-the-world pauses when we collect.
This isn't the only thing we've done as part of MemShrink, of course, but it's an example of how reducing memory usage and running faster aren't always at odds with each other.
I'm also one of those users that leaves 100's of tabs open in the background, and sometimes I think they, or javascript (userscripts?) in them keep using CPU somehow, and it slows down everything. It would be cool if firefox could set a low CPU priority to these tabs, or freeze them if possible, ala BarTab extension.
http://blog.mozilla.com/tglek/2011/12/01/introducing-project...
Part of Firefox 13 and beyond...
Also the bazillion extension that exist for Firefox are not really helping.
A "task manager" to be able to keep on eye on all extensions memory consumption (and be able to kill the extension from the browser) should really be helpful.
In Firefox I still see a lot of memory commited to tabs that I've closed long ago, and can't really get a breakdown of my extensions memory usage.
Also what I was wishing is something more like a os task manager. Where I could kill or restart extensions that are using too much memory like I can do to normal applications.
Simply stating that this extensions is using too much memory so don't use it (a la IE) won't help. If that extension is the main reason I'm using your browser I'm not going to turn it off.
I'm not saying it would be easy or even doable right now, it's just what I wish to see in a future web browser to keep the memory down and prevent me from killing it and restarting it twice a day while working.
Now, on the other hand, I have been wanting a real task manager in browsers for years. It was one of the first things that got me excited about Chrome.
Once that's in place, we can slap a friendlier UI on top, something more like the about:nosy add-on (http://www.visophyte.org/blog/2012/02/04/aboutnosy-is-aboutm...).
If you're seeing memory for tabs you closed a long time ago, we'd love to hear about it. https://developer.mozilla.org/en/Zombie_Compartments#Reactiv... has documentation on how to check for these cases.
As for measuring memory consumption of extensions, you're about the 1000th person to suggest it :/ New-style ("JetPack") extensions have some tracking, but old-style ("XUL overlay") extensions are really hard to measure, unfortunately.
If a critical extension is using too much memory, one option that might be suitable is to create a separate profile. E.g. Firebug leaks a lot (https://bugzilla.mozilla.org/show_bug.cgi?id=669730) and some people only need to run it occasionally. Depends on how often you use the extension, of course.
Measuring memory usage causes engineers to focus on it.
Making the data available piques the curiosity of geeks who historically drive change (in a "you should use this browser" way).
Having a few charts comparing with other browsers (chrome in particular) would be a good idea too, especially once they start beating chrome (if ever obviously).
Also, https://bugzil.la/695693 might be relevant, one of the comments explains how to diagnose if this is a reflow bug.
Edit: The sentence above is sarcastic. Firefox has had better memory usage than its competitors for a while now, despite the belief that it is leaky.
From https://wiki.mozilla.org/Performance/MemShrink:
"MemShrink is a project that aims to reduce Firefox's memory consumption. There are three potential benefits.
1. Speed. Firefox will be faster due to less cache pressure, less paging, and fewer/smaller GC and CC pauses. Changes that reduce memory consumption but make Firefox slower are not desirable.
2. Stability. Firefox will suffer fewer aborts/crashes due to virtual or physical memory exhaustion. The former is mostly a problem on 32-bit Windows builds with a 2GB or 4GB virtual memory limit, the latter is mostly a problem on mobile devices that lack swap space.
3. Reputation. Fewer people will complain that Firefox is a memory hog and that Mozilla ignores memory usage."
MemShrink has been running since June 2011 and there have been many improvements in Firefox's memory consumption since then; these have shown up in Firefox 7, 8, 9, 10 and 11.
Additionally, they keep saying that extensions are a huge source of leaks. I feel their pain because they don't have that much control over them, but they need to come up with some sort of a solution to deal with it, because let's face it, who's going to run FFx without any extensions?
Constraints are good things.
https://addons.mozilla.org/en-US/developers/docs/sdk/latest/...
There's movement.
http://blog.mozilla.com/nnethercote/
he also published some notes about the history of memory analysis in firefox http://blog.mozilla.com/nnethercote/2012/01/17/notes-on-redu...
pdf direct download : https://wiki.mozilla.org/images/9/93/LCA2012.pdf
The problem is that you have some stubborn devs or decisions that were made a long time ago that need to be reversed but for whatever reason are not being reversed or are hard to change.
What I care about is perceived start up time and perceived overall performance.
For perceived start up time to improve they have to stop doing some things that they normally wait to finish doing before showing the screen. Like waiting for all of the tabs to load, checking for updates to add-ons, etc.
For overall performance to improve I think they need an extra performance mode that will restrict what Addons can do.
SCNR ;)
> So 'after TP5' means after loading a manually curated list based on the top 500 web pages?
Yes. TP5 is a list of 100 pages (based on Alexa 500, I believe, but I'm not sure), and we load the pages 5 times in 30 tabs.
Honestly, Yes. You're still fat. But some progress has been made. Keep going. Stop when you hear the first complaint about too skinny.
Improving memory usage so that my browser never approaches the 4gb point in the first place would be ideal; but based on my personal history I strongly expect that any such gains will continue be eaten by increasingly heavy use on my part and those of sites I visit.