Performance/MemShrink: Difference between revisions

Jump to navigation Jump to search
Line 42: Line 42:
* [https://bugzilla.mozilla.org/buglist.cgi?list_id=1252950&resolution=---&resolution=DUPLICATE&emailtype1=regexp&status_whiteboard_type=allwordssubstr&emailassigned_to1=1&query_format=advanced&status_whiteboard=MemShrink&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&email1=nobody%40%7Cgeneral%40js.bugs Unassigned MemShrink bugs].  These need someone to work on them.
* [https://bugzilla.mozilla.org/buglist.cgi?list_id=1252950&resolution=---&resolution=DUPLICATE&emailtype1=regexp&status_whiteboard_type=allwordssubstr&emailassigned_to1=1&query_format=advanced&status_whiteboard=MemShrink&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&email1=nobody%40%7Cgeneral%40js.bugs Unassigned MemShrink bugs].  These need someone to work on them.


== Tools and Benchmarks ==
== Tools ==


=== about:memory and memory reporters ===
All the tools that we use to measure and improve memory usage are described [[Performance/MemShrink/Tools|here]].
 
about:memory is the primary tool for understanding Firefox's memory consumption. It displays a large number of measurements that are made by numerous ''memory reporters'' implemented within Firefox. A basic guide to using about:memory is [[Performance/MemShrink/about:memory|here]].
 
Documentation on how to write a memory reporter is [[Memory_Reporting|here]].
 
=== DMD ===
 
DMD is a tool that helps improve the coverage of memory reporters. Documentation on using it is [[Performance/MemShrink/DMD|here]].
 
=== areweslimyet.com ===
 
http://arewefastyet.com is a very successful site used to track the performance of Firefox's JavaScript engine.  Why was arewefastyet.com so successful?  Some key characteristics.
* The benchmarks were easy to choose:  everybody already used SunSpider and V8, and then Mozilla released [[Kraken]].  They run quickly, too, which is nice for devs, and allows expensive tools (like Cachegrind) to be used.
* The metrics were easy to choose.  SS time, V8 time, Kraken time.  They can be measured easily, precisely, and fairly repeatably.  You can break the total time down into per-benchmark times, which really helps with understanding improvements and regressions.  They're easy for devs to run on their own machine.
* There was a well-defined goal:  match or beat the other browsers.
 
In comparison, for memory consumption there is no good and/or standard benchmark suite; metrics are less clear and harder to measure (especially across different browsers);  and most importantly, there's no well-defined goal w.r.t. any benchmarks.
 
Nonetheless, we've created a memory benchmark and are tracking Firefox's performance on it over time, to provide a sense of MemShrink progress and detect regressions.  It is available at http://areweslimyet.com/.


== Meeting Minutes, Progress Reports and Presentations ==
== Meeting Minutes, Progress Reports and Presentations ==
Confirmed users
1,345

edits

Navigation menu