|
|
Line 1: |
Line 1: |
| =Performance=
| | #REDIRECT [[Performance]] |
| Mozilla's performance program focuses on improvements to the Gecko platform and the Firefox Desktop and Firefox for Android products.
| |
| | |
| ==Projects==
| |
| ===Active===
| |
| ====<span style="color: green">Incremental Cycle Collection (CC)</span>====
| |
| {| border="0" width="100%" align="left"
| |
| |-
| |
| ! width="120px" | Product impact
| |
| |{{desktop}} {{mobile}} {{b2g}}
| |
| |-
| |
| ! Team
| |
| | Andrew McCreight (lead)
| |
| |-
| |
| ! Duration
| |
| | TBD
| |
| |-
| |
| ! style="vertical-align: top;" |Goal
| |
| | Implement incremental cycle collection to reduce<sup>1</sup> cycle collector pauses in the Firefox UI.
| |
| <sup>1</sup><span style="font-size: 80%;">Reduction in cycle collector pauses will be measured with the [http://mzl.la/XLsAoB CYCLE_COLLECTOR_FULL Telemetry probe]. The degree of reduction that can be achieved is currently unclear.</span>
| |
| |-
| |
| ! Progress reports
| |
| | TeamStatus: [http://teamstat.us/#show/irc.mozilla.org/perf/mccr8 Andrew McCreight]
| |
| |-
| |
| ! Work
| |
| | {{bug|850065}}
| |
| |-
| |
| |}
| |
| ----
| |
| | |
| ====<span style="color: green">Profiler Backend for Mobile</span>====
| |
| {| border="0" width="100%" align="left"
| |
| |-
| |
| ! width="120px" | Product impact
| |
| |{{mobile}} {{b2g}}
| |
| |-
| |
| ! Team
| |
| | Julian Seward (lead), Benoit Girard, Mike Hommey
| |
| |-
| |
| ! Duration
| |
| | TBD
| |
| |-
| |
| ! style="vertical-align: top;" |Goal
| |
| | Accurate<sup>1</sup>, crash-free, deadlock-free, low overhead<sup>2</sup> stack unwinding for the SPS profiler for Firefox for Android and Firefox OS.
| |
| <sup>[1]</sup><span style="font-size: 80%;">The correct sequence of code return addresses on the stack, ideally without the unwind terminating before it gets back to main().</span><br/>
| |
| <sup>[2]</sup><span style="font-size: 80%;">Average unwind cost of 500 microseconds for a 30-frame backtrace on one core of a 1 GHz Cortex A9</span
| |
| |-
| |
| ! Progress reports
| |
| | [https://blog.mozilla.org/jseward Julian Seward's blog], TeamStatus: [http://teamstat.us/#show/irc.mozilla.org/perf/sewardj Julian Seward], [http://teamstat.us/#show/irc.mozilla.org/perf/BenWa Benoit Girard], [http://teamstat.us/#show/irc.mozilla.org/perf/glandium Mike Hommey]
| |
| |-
| |
| ! Work
| |
| |
| |
| |-
| |
| |}
| |
| ----
| |
| | |
| *Tab Animation: Avi, Tim
| |
| *Responsiveness Gecko: Vlad
| |
| *Startup: Vlad, Aaron
| |
| *Make workers good: David Teller, Paolo
| |
| *Addons: Irving
| |
| *Talos: Nathan, Avi
| |
| | |
| ===On Hold===
| |
| ====<span style="color: green">Shutdown</span>====
| |
| {| border="0" width="100%" align="left"
| |
| |-
| |
| ! width="120px" | Product impact
| |
| |{{desktop}}
| |
| |-
| |
| ! Team
| |
| | Benoit Girard (lead)
| |
| |-
| |
| ! Duration
| |
| | TBD
| |
| |-
| |
| ! style="vertical-align: top;" |Goal
| |
| | Ensure 95% of Firefox desktop instances shutdown in 3 seconds or less.
| |
| |-
| |
| ! Progress reports
| |
| | [http://benoitgirard.wordpress.com Benoit Girard's blog], TeamStatus: [http://teamstat.us/#show/irc.mozilla.org/perf/BenWa Benoit Girard]
| |
| |-
| |
| ! Work
| |
| | {{bug|819063}}
| |
| |- style="color:red"
| |
| ! Hold reason
| |
| | Resource availability
| |
| |-
| |
| |}
| |
| ----
| |
| | |
| ===Proposals===
| |
| *Font chromehangs: daggett???
| |
| *Non-e10s Plugin Hangs:
| |
| | |
| ==Tools==
| |
| *[[Telemetry|Telemetry]]
| |
| * [https://github.com/mozilla/jydoop jydoop: Efficient and Testable hadoop map-reduce in Python] ([http://benjamin.smedbergs.us/blog/2013-04-09/introducing-jydoop-fast-and-sane-map-reduce/ Introduction from Benjamin Smedberg])
| |
| * [https://developer.mozilla.org/en-US/docs/Performance/Profiling_with_the_Built-in_Profiler SPS Profiler]
| |
| * [[Buildbot/Talos]]
| |
| | |
| ==Communication==
| |
| {| class="wikitable fullwidth-table"
| |
| ! Communication Type !! Mechanism !! Audience
| |
| |-
| |
| | Announcements || [https://lists.mozilla.org/listinfo/dev-platform dev-platform] list || all
| |
| |-
| |
| | Meetings || meeting time
| |
| {{conf|99355}}
| |
| * Vidyo: Performance
| |
| * IRC: [irc://irc.mozilla.org/ircchannel #ircchannel]
| |
| * Agenda:
| |
| || all
| |
| |-
| |
| | Meeting summaries || [[Performance | this wiki]] || all
| |
| |-
| |
| | Micro status || [http://teamstat.us/#browse/irc.mozilla.org/perf statusbot] || devs
| |
| |-
| |
| | Weekly status || [http://benjamin.smedbergs.us/weekly-updates.fcgi/ Mozilla Status Board] || devs
| |
| |}
| |
| | |
| ===Press & Blog Posts===
| |
| | |
| | |
| ===Minutes and Progress Reports ===
| |
| {| class="wikitable collapsible" style="width: 100%"
| |
| ! style="background-color: rgb(221, 221, 221);" colspan="2" | 2013
| |
| |-
| |
| |
| |
| * minutes go here
| |
| |}
| |
| | |
| ==People==
| |
| list required competencies for people and, once defined, the people working on project. note that not all of these competencies will be required for every project
| |
| {| class="wikitable fullwidth-table"
| |
| | Project Champion ||
| |
| |-
| |
| | Program Management || Lawrence Mandel
| |
| |-
| |
| | Product ||
| |
| |-
| |
| | Engineering || Taras Glek, Vladan Djeric
| |
| |-
| |
| |}
| |
| | |
| ==References==
| |
| | |
| ===Related Projects===
| |
| * [[Performance/MemShrink|MemShrink]]
| |
| | |
| ==Archive==
| |
| ===Old Projects===
| |
| * [[Firefox/Projects/Mobile_Startup_Shrink|Mobile Startup Shrink]]
| |
| * [[Firefox/Projects/Startup_Time_Improvements|Startup Performance]]
| |
| * [[Firefox:FrontEndPerformance|Front-end Performance]] (i.e., responsiveness)
| |
| * [[Performance/Addons|Add-on Performance]]
| |
| * [[Performance/Snappy|Snappy]]
| |
| * [[Mobile/Performance|Mobile Performance Info]]
| |
| | |
| ===Tools===
| |
| * [[Codesighs]] - a tool which analyzes code and data size.
| |
| * [[Performance:Tools]]. For measuring performance. Tip o' the propeller-cap to [mailto:zuperdee@penguinpowered.com Daniel Roberts] (zuperdee@penguinpowered.com) for the pointers.
| |
| * [[Performance:Probes]]. Project to integrate a system of performance probes into Gecko.
| |
| | |
| ===Documentation and Presentations===
| |
| * Code Footprint [[Performance:Footprint_Reduction_Techniques]] explains common bad patterns and how to correct them.
| |
| * [[Performance:Profiling_JuJu]]. Things you should know about doing profiling. Tips and tricks for some of the tools, and lots of other Good Things To Know.
| |
| * [http://www.mozilla.org/performance/mac-performance.html Profiling and leak analysis] on the Mac.
| |
| * [[Performance:Footprint_Tools]]. Presentation on footprint tools
| |
| * [[Performance:Startup]] [http://www.mozilla.org/performance/perf-intro/slide1.xml slides] Presentation on general performance tools
| |
| * [[Performance:Leak_Tools]]. Presentation on memory leaks detection tools
| |
| * [http://www.mozilla.org/performance/mac-performance.html Mac Performance Tools] Presentation on performance tools that work on Mac
| |