0.36 - 0.48% installer size (osx-shippable) regression on push 9b8606a93c7591af9ebf57e6cbf2afb52f970ac5 (Fri May 15 2020)
Categories
(Firefox :: Sync, defect)
Tracking
()
Tracking | Status | |
---|---|---|
firefox76 | --- | unaffected |
firefox77 | --- | unaffected |
firefox78 | --- | wontfix |
People
(Reporter: alexandrui, Unassigned)
References
(Regression)
Details
(Keywords: perf-alert, regression)
Perfherder has detected a build_metrics performance regression from push 9b8606a93c7591af9ebf57e6cbf2afb52f970ac5. As author of one of the patches included in that push, we need your help to address this regression.
Regressions:
0.48% installer size osx-shippable opt instrumented 116,040,060.83 -> 116,595,368.92
0.36% installer size osx-shippable opt nightly 83,181,379.71 -> 83,482,199.25
Details of the alert can be found in the alert summary, including links to graphs and comparisons for each of the affected tests. Please follow our guide to handling regression bugs and let us know your plans within 3 business days, or the offending patch(es) will be backed out in accordance with our regression policy.
For more information on performance sheriffing please see our FAQ.
Reporter | ||
Updated•4 years ago
|
Comment 1•4 years ago
|
||
Set release status flags based on info from the regressing bug 1631630
Comment 2•4 years ago
|
||
It's unfortunate but expected as we are moving the Sync/FxA internal parts to Rust. The installer size will go back down again once we remove the Javascript implementation.
Comment 3•4 years ago
|
||
(In reply to Edouard Oger [:eoger] from comment #2)
It's unfortunate but expected as we are moving the Sync/FxA internal parts to Rust. The installer size will go back down again once we remove the Javascript implementation.
Half a megabyte in the installer (!) is rather large, but the packages that push pulled in look pretty modest. Is there a lot of auto-generated/auto-derive
'd code in there somewhere?
Comment 4•4 years ago
|
||
Is there a lot of auto-generated/auto-derive'd code in there somewhere?
We do make fairly liberal use of Serde, e.g. in here where we use it for deserializing different types of HTTP response that we might get from the FxA server. Might be a contributing factor?
Comment 5•4 years ago
|
||
(In reply to Ryan Kelly [:rfkelly] from comment #4)
Is there a lot of auto-generated/auto-derive'd code in there somewhere?
We do make fairly liberal use of Serde, e.g. in here where we use it for deserializing different types of HTTP response that we might get from the FxA server. Might be a contributing factor?
I don't have a good mental model for how expensive a serde
struct is, but it certainly seems plausible. What did the JS implementation do for this sort of thing? Just parsed it into JSON and called it a day?
Comment 6•4 years ago
|
||
What did the JS implementation do for this sort of thing? Just parsed it into JSON and called it a day?
Yep.
Trying to guess at the source of the source of the size increase here probably isn't a good use of your or our time though; seems like it's worth us running a few local experiments to see if we can narrow down to a particular cause, it's the sort of thing that it will be good for us to have a handle on in general.
Comment 7•4 years ago
|
||
seems like it's worth us running a few local experiments to see if we can narrow down to a particular cause
Investigating this over in the project repo here:
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Description
•