Performance
Mozilla's performance program focuses on improvements to the Gecko platform and the Firefox Desktop, Firefox for Android, and Firefox OS products.
Projects
Active
"Cold" page load benchmark
| Product impact
|
[DESKTOP]
|
| Goal
|
Create a reliable1 Talos benchmark for 'cold' page load times.
1Reliable in this case refers to minimizing variability in the data between runs on the benchmark system.
|
| Duration
|
TBD
|
| Team
|
Nathan Froyd (lead), Avi Halachmi
|
| Progress reports
|
TeamStatus: Nathan Froyd, Avi Halachmi
|
| Work
|
|
| Dependencies
|
|
| Notes
|
This project will start by exploring viability of such a benchmark. If the benchmark turns out to be infeasible, we will document the results and move on to another project.
|
Incremental Cycle Collection (CC)
| Product impact
|
[DESKTOP] [MOBILE] [B2G]
|
| Goal
|
Implement incremental cycle collection to reduce1 cycle collector pauses in the Firefox UI.
1Reduction in cycle collector pauses will be measured with the CYCLE_COLLECTOR_FULL Telemetry probe. The degree of reduction that can be achieved is currently unclear.
|
| Duration
|
TBD
|
| Team
|
Andrew McCreight (lead)
|
| Progress reports
|
TeamStatus: Andrew McCreight
|
| Work
|
bug 850065
|
| Dependencies
|
|
| Notes
|
|
Keep JS-accessible APIs from blocking the main thread
| Product impact
|
[DESKTOP] [MOBILE] [B2G]
|
| Goal
|
Refactor existing and provide new JS APIs to either migrate services, components, and add-ons off the main thread or at least prevent them from blocking the main thread.
|
| Duration
|
TBD
|
| Team
|
David Rajchenbach-Teller (lead), Paolo Amadini
|
| Progress reports
|
TeamStatus: David Rajchenbach-Teller
|
| Work
|
Bugzilla query
|
| Dependencies
|
|
| Notes
|
This project focuses on JS-accessible APIs in the context of Web Workers.
|
Profiler Backend for Mobile
| Product impact
|
[MOBILE] [B2G]
|
| Goal
|
Accurate1, crash-free, deadlock-free, low overhead2 stack unwinding for the SPS profiler for Firefox for Android and Firefox OS.
[1]The correct sequence of code return addresses on the stack, ideally without the unwind terminating before it gets back to main().
[2]Average unwind cost of 500 microseconds for a 30-frame backtrace on one core of a 1 GHz Cortex A9
|
| Duration
|
TBD
|
| Team
|
Julian Seward (lead), Benoit Girard, Mike Hommey
|
| Progress reports
|
Julian Seward's blog, TeamStatus: Julian Seward, Benoit Girard, Mike Hommey
|
| Work
|
bug 863453
|
| Dependencies
|
|
| Notes
|
May impact desktop Linux as well.
|
Reducing time to first paint - Phase 1
| Product impact
|
[DESKTOP]
|
| Goal
|
A 10% reduction1 in time between XRE_Main and first paint2 during cold starts3 on Windows 7 with no extensions installed4, on reference slow hardware5, 30 seconds after an OS reboot.
[1]Currently, after an OS restart, XRE_Main to firstPaint takes about 4.2 seconds on the reference hardware. A 10% reduction will be ~400ms.
[2]XRE_Main as the starting point to exclude the impact of loading Firefox binaries as they grow bigger with every release. First paint to exclude the impact of Yoric's session store refactor work.
[3]Cold start because a lot of the work will be focused on reducing the amount of I/O done during startup.
[4]No extensions to exclude the impact of Irving's Add-on Manager work.
[5]The reference hardware is a recent, slow Win7 laptop with an AMD C-50 dual-core @ 1 GHz, magnetic HDD, and 2GB shared RAM. A slow Windows laptop is used because it is consistently slow and can be easily debugged.
|
| Duration
|
TBD
|
| Team
|
Vladan Djeric (lead)
|
| Progress reports
|
Vladan Djeric's blog, TeamStatus: Vladan Djeric
|
| Work
|
bug 810156
|
| Dependencies
|
Replace Add-on Manager SQLITE with JSON file project
|
| Notes
|
Will measure with about:telemetry on reference hardware as aggregate Telemetry includes both warm and cold starts and a variety of hardware confirgurations.
|
Replace Add-on Manager SQLITE with JSON file
| Product impact
|
[DESKTOP] [MOBILE]
|
| Goal
|
Goal: Reduce Add-on Manager impact on start-up time1 and runtime pauses2 by removing SQLITE database from XPI Provider and Add-on Repository and replacing with JSON3.
1Start-up time reduction by reducing the amount of I/O required before first paint.
2Runtime pause reduction by reducing I/O required during add-on up-to-date checks and updates, and making sure as much as possible is off main thread.
3New implementation will do no blocking I/O except minimal loading of required data during start-up.
|
| Duration
|
6 weeks (approx week of May 27, 2013)
|
| Team
|
Irving Reid (lead), Felipe Gomes
|
| Progress reports
|
Irving Reid's blog, TeamStatus: Irving Reid, Felipe Gomes
|
| Work
|
bug 853388, bug 853389
|
| Dependencies
|
|
| Notes
|
|
Smooth Tab Animation
On Hold
Shutdown
| Product impact
|
[DESKTOP]
|
| Goal
|
Ensure 95% of Firefox desktop instances shutdown in 3 seconds or less.
|
| Duration
|
TBD
|
| Team
|
Benoit Girard (lead)
|
| Progress reports
|
Benoit Girard's blog, TeamStatus: Benoit Girard
|
| Work
|
bug 819063
|
| Dependencies
|
|
| Notes
|
|
| Hold reason
|
Resource availability
|
Proposals
- Font chromehangs: daggett???
- Non-e10s Plugin Hangs:
Tools
Communication
| Communication Type |
Mechanism |
Audience
|
| Announcements |
dev-platform list |
all
|
| Meetings |
First Thursday of each month, 1pm PT
- Dial-in: Audio-only conference# 99355
- People with Mozilla phones or softphones please dial x4000 Conf# 99355
- US/Toll-free: +1 800 707 2533, (pin 4000) Conf# 99355
- US/California/Mountain View: +1 650 903 0800, x4000 Conf# 99355
- US/California/San Francisco: +1 415 762 5700, x4000 Conf# 99355
- US/Oregon/Portland: +1 971 544 8000, x4000 Conf# 99355
- CA/British Columbia/Vancouver: +1 778 785 1540, x4000 Conf# 99355
- CA/Ontario/Toronto: +1 416 848 3114, x4000 Conf# 99355
- UK/London: +44 (0)207 855 3000, x4000 Conf# 99355
- FR/Paris: +33 1 84 88 37 37, x4000 Conf# 99355
- Gmail Chat (requires Flash and the Google Talk plugin): paste +1 650 903 0800 into the Gmail Chat box that doesn't look like it accepts phone numbers
- SkypeOut is free if you use the 800 number
- Vidyo: Performance
- IRC: #perf
- Agenda: https://etherpad.mozilla.org/perf
|
all
|
| Meeting summaries |
this wiki |
all
|
| Micro status |
TeamStatus |
devs
|
| Weekly status |
Mozilla Status Board |
devs
|
Press & Blog Posts
Progress Reports
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
| Project Champion |
|
| Program Management |
Lawrence Mandel
|
| Product |
|
| Engineering |
Taras Glek, Vladan Djeric
|
References
Related Projects
Archive
Old Projects
Tools
Documentation and Presentations