Performance/Project Candle: Difference between revisions

Jump to navigation Jump to search
no edit summary
(Created page with "Project Candle is a project that aims to reduce the power consumption of Firefox (on desktop and mobile) and Firefox OS. This will increase battery life for users on mobile de...")
 
No edit summary
Line 1: Line 1:
Project Candle is a project that aims to reduce the power consumption of Firefox (on desktop and mobile) and Firefox OS. This will increase battery life for users on mobile devices.
Project Candle is a project that aims to reduce the power consumption of Firefox (on desktop and mobile) and Firefox OS. This will increase battery life for users on mobile devices.
== Mailing list ==
The Project Candle mailing list [https://bugzilla.mozilla.org/show_bug.cgi?id=1200901 will be called dev-power].
Instead of having regular face-to-face meetings, this list will serve as the central point of contact for all discussions and bug triaging for Project Candle. While having no face-to-face meetings does reduce the immediacy of discussion, we hope this will be outweighed by other advantages.
First, given that the reduction of power consumption potentially requires people with expertise in many parts of the codebase, it is important to avoid excluding anybody. A mailing list achieves this in the following ways.
* Nobody needs to miss discussion due to being permanently in a particular timezone.
* Nobody needs to miss discussion due to being temporarily unavailable at a particular time.
* It's easy to "lurk", i.e. follow along in a low-commitment fashion.
Second, there are some practical benefits.
* All discussions are permanently archived.
* Fewer meetings for everybody.
== Bug triage and tracking ==
Bugs are triaged via periodic triage threads on the mailing list. These threads will have a title such as "Project Candle bug triage (7th September 2015)". The triage manager (currently nnethercote) will initiate these threads, listing each bug, asking relevant questions, and suggesting priorities. A few days later, after discussion has occurred, the triage manager will update the bugs appropriately.
If you want a bug that is related to memory usage to be triaged in a MemShrink meeting, add "[Power]" to the bug whiteboard. These bugs will be prioritized by adding one of "Power:P1", "Power:P2", "Power:P3" or "Power:meta" to the whiteboard.
* [https://bugzilla.mozilla.org/buglist.cgi?status_whiteboard_type=regexp&query_format=advanced&list_id=577353&status_whiteboard=Power%5b%5e%3A%5d&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&resolution=---&resolution=DUPLICATE Unprioritized Power bugs]. These are triaged regularly on the mailing list.
* [https://bugzilla.mozilla.org/buglist.cgi?list_id=463753&resolution=---&resolution=DUPLICATE&status_whiteboard_type=allwordssubstr&query_format=advanced&status_whiteboard=Power%3AP1&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&order=bugs.bug_id Power:P1 bugs]. These are likely to be looked at and discussed regularly.
* [https://bugzilla.mozilla.org/buglist.cgi?list_id=463753&resolution=---&resolution=DUPLICATE&status_whiteboard_type=allwordssubstr&query_format=advanced&status_whiteboard=Power%3AP2&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&order=bugs.bug_id Power:P2 bugs]. These are likely to be looked at and discussed occasionally. P2 is the default priority.
* [https://bugzilla.mozilla.org/buglist.cgi?list_id=463753&resolution=---&resolution=DUPLICATE&status_whiteboard_type=allwordssubstr&query_format=advanced&status_whiteboard=Power%3AP3&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&order=bugs.bug_id Power:P3 bugs]. These are likely to be looked at and discussed rarely.
* [https://bugzilla.mozilla.org/buglist.cgi?list_id=463753&resolution=---&resolution=DUPLICATE&status_whiteboard_type=allwordssubstr&query_format=advanced&status_whiteboard=Power%3Ameta&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&order=bugs.bug_id Power:meta bugs]. These are likely to be looked at and discussed occasionally.
Some other interesting bug lists that overlap with the ones above.
* [https://bugzilla.mozilla.org/buglist.cgi?list_id=463753&resolution=---&resolution=DUPLICATE&status_whiteboard_type=allwordssubstr&query_format=advanced&status_whiteboard=Power&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&order=bugs.bug_id All Power bugs].
* [https://bugzilla.mozilla.org/buglist.cgi?status_whiteboard_type=allwordssubstr&query_format=advanced&list_id=1252875&status_whiteboard=Power&bug_status=UNCONFIRMED&resolution=---&resolution=DUPLICATE Unconfirmed Power bugs]. These are problems reported by users and generally require some kind of additional work to confirm.
* [https://bugzilla.mozilla.org/buglist.cgi?status_whiteboard_type=allwordssubstr&query_format=advanced&list_id=1252905&status_whiteboard=Power%20mentor&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&resolution=---&resolution=DUPLICATE Power bugs with a "mentor" annotation]. These are bugs that someone has identified as reasonable easy, and that person is willing to help a newcomer fix the bug.
* [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=Power&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&email1=nobody%40%7Cgeneral%40js.bugs Unassigned Power bugs]. These need someone to work on them.
== Tools ==
All the tools that we use to measure and improve memory usage are described [https://developer.mozilla.org/en-US/docs/Mozilla/Performance on MDN], under "Power profiling".
== Progress tracking ==
We will need to set up some kind of automated system for tracking power consumption. This will let us measure progress and also detect regressions.
There are several open questions relating to this.
* Which platforms? (Note that dedicated hardware is best for power consumption measurement, because a lot of the tools do system-wide measurements.)
* Which other browsers do we compare with?
* Which metrics do we use?
* What workloads do we test.
Roberto Vitillo's [https://github.com/mozilla/energia Energia] [http://people.mozilla.org/~rvitillo/dashboard/ dashboard] may serve as a good starting point. (Note that this dashboard has not been updated in over a year and so its actual data should be ignored at this time.)
Confirmed users
1,345

edits

Navigation menu