0.44 - 0.23% installer size / installer size + 4 more (OSX, Windows) regression on Mon November 17 2025
Categories
(Core :: DOM: Streams, defect)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox-esr140 | --- | unaffected |
| firefox145 | --- | unaffected |
| firefox146 | --- | unaffected |
| firefox147 | --- | fix-optional |
People
(Reporter: intermittent-bug-filer, Assigned: saschanaz, NeedInfo)
References
(Regression)
Details
(Keywords: perf-alert, regression)
Attachments
(1 file)
Perfherder has detected a build_metrics performance regression from push 1ba472652b90ac9580bb46333dcc5f0c3d0d1b1a. As author of one of the patches included in that push, we need your help to address this regression.
Please acknowledge, and begin investigating this alert within 3 business days, or the patch(es) may be backed out in accordance with our regression policy. Our guide to handling regression bugs has information about how you can proceed with this investigation.
If you have any questions or need any help with the investigation, please reach out to aesanu@mozilla.com. Alternatively, you can find help on Slack by joining #perf-help, and on Matrix you can find help by joining #perftest.
Regressions:
| Ratio | Test | Platform | Options | Absolute values (old vs new) |
|---|---|---|---|---|
| 0.44% | installer size | osx-aarch64-shippable | aarch64 nightly | 107,884,202.88 -> 108,357,699.33 |
| 0.34% | installer size | windows2012-32-shippable | nightly | 111,557,200.58 -> 111,931,308.25 |
| 0.33% | installer size | osx-nightlyasrelease | nightly nightly-as-release | 111,338,190.58 -> 111,703,073.92 |
| 0.29% | installer size | osx-shippable | nightly | 114,270,216.33 -> 114,604,162.50 |
| 0.24% | installer size | windows2012-64-shippable | nightly | 129,978,519.75 -> 130,295,951.75 |
| 0.23% | installer size | win64-nightlyasrelease | nightly nightly-as-release | 127,589,967.54 -> 127,888,939.83 |
Improvements:
| Ratio | Test | Platform | Options | Absolute values (old vs new) |
|---|---|---|---|---|
| 0.35% | installer size | windows2012-64-shippable | nightly | 130,462,517.42 -> 130,011,993.92 |
| 0.15% | installer size | osx-shippable | nightly | 114,353,985.88 -> 114,183,239.08 |
Details of the alert can be found in the alert summary, including links to graphs and comparisons for each of the affected tests.
You can run all of these tests on try with ./mach try perf --alert 47478
The following documentation link provides more information about this command.
Comment 1•1 month ago
|
||
Set release status flags based on info from the regressing bug 1921583
| Assignee | ||
Comment 2•1 month ago
|
||
This is totally expected. Technically we can try reducing it using the lazy init added in 1.2.0, but AFAICT BROTLI_STATIC_INIT_LAZY affects both decoder and encoder, so I think we need more consideration.
Thoughts, Jonathan?
Comment 3•1 month ago
|
||
Yeah, this seems expected and not excessive. (Though it's curious that it also lists a couple of improvements.) I'd be OK with just resolving WONTFIX here.
Having said that, maybe it'd be interesting to push a patch with BROTLI_STATIC_INIT_LAZY to tryserver to see how much difference it makes, and if it looks worthwhile we could discuss our options.
| Assignee | ||
Comment 4•1 month ago
|
||
Yeah, I specifically worry about the initial network load of brotli encoded contents, because lazy load will add some delay before decoding. But I have no idea how much, perhaps it could be super minimal negligible. Some perf tests on CI would help.
| Assignee | ||
Comment 5•1 month ago
|
||
Before doing that,
Kershaw, do you know if there's any network perftest that would prove comment #4?
Comment 6•1 month ago
|
||
(In reply to Kagami Rosylight [:saschanaz] (they/them) from comment #5)
Before doing that,
Kershaw, do you know if there's any network perftest that would prove comment #4?
Sorry, I am not aware of any perftest about this.
Maybe Andrew know?
Comment 7•1 month ago
|
||
Out of curiosity, I made a local build using BROTLI_STATIC_INIT_EARLY (not LAZY), and instrumented the initialization of the Brotli static data.
On my MacBook Pro (M2 Max) -- so a reasonably fast machine, though not brand new -- it took around 300ns the first time in the parent process, and around 50ns for each subsequent process launched. Quitting and relaunching gives me "fast" initialization even in the parent process, presumably because caches have been warmed up.
(I also tried building it with BROTLI_STATIC_INIT_LAZY, but that build doesn't seem to be able to use Brotli-encoded resources -- I get NS_ERROR_INVALID_CONTENT_ENCODING failures, and content is missing. I haven't investigated why this failed.)
Comment 8•1 month ago
|
||
(In reply to Kershaw Chang [:kershaw] from comment #6)
(In reply to Kagami Rosylight [:saschanaz] (they/them) from comment #5)
Before doing that,
Kershaw, do you know if there's any network perftest that would prove comment #4?
Sorry, I am not aware of any perftest about this.
Maybe Andrew know?
It could be helpful to try the desktop pageload test via ./mach try perf, maybe just Linux for a start.
Randell may have more ideas.
Comment 9•1 month ago
|
||
(In reply to Jonathan Kew [:jfkthame] from comment #3)
(Though it's curious that it also lists a couple of improvements.)
FWIW, I dont see these improvements on the graph. Not sure why that datapoint is classified as an improvement.
Updated•1 month ago
|
Comment 11•1 month ago
|
||
It has been over 7 days with no activity on this performance regression.
:saschanaz, since you are the author of the regressor, bug 1921583, which triggered this performance alert, could you please provide a progress update?
If this regression is something that fixes a bug, changes the baseline of the regression metrics, or otherwise will not be fixed, please consider closing it as WONTFIX. See this documentation for more information on how to handle regressions.
For additional information/help, please needinfo the performance sheriff who filed this alert (they can be found in comment #0), or reach out in #perftest, or #perfsheriffs on Element.
For more information, please visit BugBot documentation.
| Assignee | ||
Comment 12•1 month ago
•
|
||
Let's try _EARLY and see what perftest says. (and maybe also _LAZY)
| Assignee | ||
Comment 13•1 month ago
|
||
- baseline: https://treeherder.mozilla.org/jobs?repo=try&revision=ce327c8fcd8459d8f7df67b596d76b8fbba6ce7b
- early: https://treeherder.mozilla.org/jobs?repo=try&revision=e668320e175ac66041077ad21f3002de3be31d47
- lazy: https://treeherder.mozilla.org/jobs?repo=try&revision=7c2f3ba5ca7406ddf29ff75b50458573f930fbbc
| Assignee | ||
Comment 14•1 month ago
|
||
Also removing BROTLI_BUILD_PORTABLE as it's removed in brotli 1.1.0.
Updated•1 month ago
|
Description
•