24.4 - 5.24% perf_reftest style-attr-1.html / perf_reftest_singletons link-style-cache-1.html + 15 more (Linux, OSX, Windows) regression on Tue December 14 2021
Categories
(Core :: CSS Parsing and Computation, defect)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox97 | --- | affected |
People
(Reporter: aesanu, Unassigned)
References
(Regression)
Details
(4 keywords)
Perfherder has detected a talos performance regression from push 97099edbe36995472b3e7b0462b1c24bdcbaa8fe. As author of one of the patches included in that push, we need your help to address this regression.
Regressions:
| Ratio | Test | Platform | Options | Absolute values (old vs new) |
|---|---|---|---|---|
| 24% | perf_reftest style-attr-1.html | windows10-64-shippable-qr | e10s stylo webrender | 2.63 -> 3.27 |
| 18% | perf_reftest style-attr-1.html | windows10-64-shippable-qr | e10s stylo webrender-sw | 2.59 -> 3.05 |
| 17% | perf_reftest_singletons style-attr-1.html | linux1804-64-shippable-qr | e10s stylo webrender | 2.82 -> 3.30 |
| 16% | perf_reftest style-attr-1.html | macosx1015-64-shippable-qr | e10s fission stylo webrender | 3.81 -> 4.43 |
| 14% | perf_reftest style-attr-1.html | windows10-64-shippable-qr | e10s stylo webrender-sw | 2.67 -> 3.05 |
| 14% | perf_reftest_singletons style-attr-1.html | windows10-64-shippable-qr | e10s stylo webrender | 2.74 -> 3.12 |
| 14% | perf_reftest_singletons style-attr-1.html | macosx1015-64-shippable-qr | e10s stylo webrender | 3.98 -> 4.53 |
| 14% | perf_reftest style-attr-1.html | macosx1015-64-shippable-qr | e10s stylo webrender-sw | 3.90 -> 4.44 |
| 13% | perf_reftest style-attr-1.html | macosx1014-64-shippable-qr | e10s stylo webrender-sw | 3.91 -> 4.42 |
| 13% | perf_reftest_singletons style-attr-1.html | macosx1015-64-shippable-qr | e10s fission stylo webrender | 4.03 -> 4.55 |
| ... | ... | ... | ... | ... |
| 11% | perf_reftest_singletons style-attr-1.html | macosx1014-64-shippable-qr | e10s stylo webrender | 4.00 -> 4.46 |
| 11% | perf_reftest_singletons style-attr-1.html | macosx1014-64-shippable-qr | e10s fission stylo webrender | 4.09 -> 4.53 |
| 10% | perf_reftest_singletons link-style-cache-1.html | macosx1015-64-shippable-qr | e10s fission stylo webrender | 292.10 -> 320.42 |
| 8% | perf_reftest_singletons link-style-cache-1.html | macosx1015-64-shippable-qr | e10s stylo webrender | 290.50 -> 314.94 |
| 5% | perf_reftest_singletons link-style-cache-1.html | macosx1014-64-shippable-qr | e10s fission stylo webrender | 912.34 -> 960.17 |
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.
Comment 1•4 years ago
|
||
This is expected given we made the CascadePriority bigger. See bug 1596712 for an analysis of basically the same regression. The main point is this:
This benchmark is meant to test for the "changing the style attribute doesn't
cause selector-matching" optimization (which, mind you, keeps working).
But in the process it creates 10k rules which form a perfect path in the rule
tree and that we put into a SmallVec during the cascade, and the benchmark
spends most of the time pushing to that SmallVec and iterating the declarations
(as there's only one property to apply).
So we could argue that the regression is minor and is not what the benchark is
supposed to be testing, but given I did the digging... :)
My patch made CascadeLevel bigger, which means that we create a somewhat bigger
vector in this case. Thankfully it also removed the dependency in the
CascadeLevel, so we can stop using that and use just Origin which is one byte to
revert the perf regression.
The main issue is, now there's no getting around CascadePriority being bigger than Origin.
But as I said this is testing for specific optimizations that keep working, so given this is not actionable we should close this bug and accept the regression.
Updated•4 years ago
|
Description
•