Performance/Fenix: Difference between revisions
Jump to navigation
Jump to search
(Create page w/ defense filled out.) |
(→Defense: add WIP header) |
||
Line 10: | Line 10: | ||
** We are Code Owners for a few files | ** We are Code Owners for a few files | ||
==== WIP ==== | |||
We're working on adding: | We're working on adding: | ||
* Regression testing per master merge ([https://github.com/mozilla-mobile/perf-frontend-issues/issues/162 issue]) | * Regression testing per master merge ([https://github.com/mozilla-mobile/perf-frontend-issues/issues/162 issue]) |
Revision as of 20:29, 5 October 2020
Performance can be thought in terms of "Offense" – the changes that you make to actively improve performance – and "Defense" – the systems you have in place to prevent performance regression's (this offense/defense idea from this blog post).
App start up
Defense
The FE perf team has the following measures in place to prevent regressions:
- Show long term start up trends with Nightly performance tests (note: these are not granular enough to practically identify & fix regressions)
- Prevent main thread IO with:
StrictMode
crashing in debug builds on disk or network IO on the main thread
- Code added to the start up path should be reviewed by the performance team:
- We are Code Owners for a few files
WIP
We're working on adding:
- Regression testing per master merge (issue)
- Prevent main thread IO with:
- Code added to the start-up path should be reviewed by the performance team:
- We're investigating other files that can be separated so we can be code owners for the start up parts (issue)
- Minimize component initialization with:
- Avoid unnecessary initialization (issue)
- Prevent unnecessarily expensive UI with:
- NestedConstraintLayout static analysis (issue)
Offense
TODO: improve this section, if useful (let us know if it is)
We're keeping a list of the biggest known performance improvements we can make. Also, we have a startup improvement plan.