Changes

Jump to: navigation, search

Performance/MemShrink

323 bytes added, 06:50, 30 May 2011
no edit summary
MemShrink aims to reduce Firefox's memory consumption. There are three potential benefits:
# Speed: less cache , and VM pressureless paging. The latter is crucial, as it can destroy performance.
# Stability: fewer OOMs, whether due to address space exhaustion or otherwise. This results in fewer crashes (due to mishandling of OOM) or aborts.
# Perception: fewer people will complain about Firefox being a memory hog.
These factors are doubly important for Firefox Mobile.
 
There are two main facets to this:
 
# Smarter use of memory: e.g. more space-efficient data structures.
# Avoiding leaks of all kinds (both true leaks and quasi-leaks).
 
The latter is generally more important, as leaks are more likely to lead to horrible performance.
 
== Meetings ==
MemShrink is modelled on [[CrashKill]] and [[CritSmash]]. The most important thing is to have weekly meetings in which leak reports can be triaged and assigned to people. We have many leak reports and not many people looking into them.
 
== Tracking Leaks ==
 
We get lots of leak reports. Many of them are vague. It can be hard to tell when duplicates happen. So it's worthwhile tracking them on a per-release basis.
 
* {{bug|659855}} is for leaks and quasi-leaks reported against Firefox 4 betas
* {{bug|659856}} is for leaks and quasi-leaks reported against Firefox 4
* {{bug|659857}} is for leaks and quasi-leaks reported against Firefox 5
* {{bug|659858}} is for leaks and quasi-leaks reported against Firefox 6
* {{bug|659856}} is for leaks and quasi-leaks reported against Firefox 7
 
The following bugs are on a longer timescale, because there are fewer of them:
* {{bug|640457}} for other memory use reductions in Firefox 5
* {{bug|640791}} for improvements to memory profiling in Firefox 5
== areweslimyet.com ==
(Who knows? Probably need to measure other browsers to get a sense of what the goal should be.)
== Pushing This Forward ==
nnethercote and jmuizelaar have volunteered to co-lead the MemShrink effort.
MemShrink could be modelled on [[CrashKill]] and [[CritSmash]]. One problem with that is that neither nnethercote nor jrmuizelaar are in Mountain View -- jmuizelaar is in the Toronto office (not too bad), nnethercote works at home in a PST+17/+19 timezone. So having CrashKill/CritSmash-style meetings will be difficult.
The MemShrink effort can also include leaks and quasi-leaks in its jurisdiction, even if areweslimyet.com doesn't demonstrate them.
 
In terms of tracking bugs, now that we're on a 3 month release cycle, I like the idea of having one meta-bug tracking all memory use reductions for the next release. I personally find meta-bugs like this to be quite useful so long as they have a clear end-point. So I opened three bugs:
 
* {{bug|640452}} for leaks in Firefox 5
* {{bug|640457}} for other memory use reductions in Firefox 5
* {{bug|640791}} for improvements to memory profiling in Firefox 5
== Other Ideas ==
Confirm
1,345
edits

Navigation menu