Closed Bug 1596712 Opened 2 months ago Closed 2 months ago

6.61 - 35.21% perf_reftest (linux64-shippable, linux64-shippable-qr, macosx1014-64-shippable, windows10-64-shippable, windows10-64-shippable-qr, windows7-32-shippable) regression on push 06945900e072481a3ecacf3f75a1ea66fc422176 (Thu November 14 2019)

Categories

(Core :: CSS Parsing and Computation, defect, P2)

defect

Tracking

()

RESOLVED FIXED
mozilla72
Tracking Status
firefox-esr68 --- unaffected
firefox70 --- unaffected
firefox71 --- unaffected
firefox72 --- fixed

People

(Reporter: Bebe, Assigned: emilio)

References

(Blocks 1 open bug, Regression)

Details

(4 keywords)

Attachments

(1 file)

Talos has detected a Firefox performance regression from push:

https://hg.mozilla.org/integration/autoland/pushloghtml?changeset=06945900e072481a3ecacf3f75a1ea66fc422176

As author of one of the patches included in that push, we need your help to address this regression.

Regressions:

35% perf_reftest_singletons style-attr-1.html linux64-shippable-qr opt e10s stylo 3.28 -> 4.44
33% perf_reftest style-attr-1.html linux64-shippable-qr opt e10s stylo 3.36 -> 4.45
32% perf_reftest_singletons style-attr-1.html linux64-shippable opt e10s stylo 3.27 -> 4.33
31% perf_reftest_singletons style-attr-1.html windows10-64-shippable opt e10s stylo 3.74 -> 4.90
30% perf_reftest style-attr-1.html windows10-64-shippable opt e10s stylo 3.74 -> 4.88
29% perf_reftest_singletons style-attr-1.html windows10-64-shippable-qr opt e10s stylo 3.77 -> 4.86
28% perf_reftest style-attr-1.html linux64-shippable opt e10s stylo 3.42 -> 4.39
23% perf_reftest style-attr-1.html macosx1014-64-shippable opt e10s stylo 4.87 -> 5.97
21% perf_reftest_singletons style-attr-1.html macosx1014-64-shippable opt e10s stylo 4.85 -> 5.86
20% perf_reftest_singletons style-attr-1.html macosx1014-64-shippable opt e10s stylo 4.89 -> 5.88
14% perf_reftest style-attr-1.html windows7-32-shippable opt e10s stylo 3.31 -> 3.76
9% perf_reftest_singletons link-style-cache-1.html linux64-shippable opt e10s stylo 710.68 -> 774.96
9% perf_reftest_singletons link-style-cache-1.html linux64-shippable-qr opt e10s stylo 733.01 -> 798.25
9% perf_reftest_singletons bloom-basic-2.html windows7-32-shippable opt e10s stylo 41.49 -> 45.13
7% perf_reftest_singletons link-style-cache-1.html windows10-64-shippable-qr opt e10s stylo 774.27 -> 826.55
7% perf_reftest_singletons link-style-cache-1.html windows10-64-shippable opt e10s stylo 773.68 -> 824.81

You can find links to graphs and comparison views for each of the above tests at: https://treeherder.mozilla.org/perf.html#/alerts?id=23951

On the page above you can see an alert for each affected platform as well as a link to a graph showing the history of scores for this test. There is also a link to a treeherder page showing the Talos jobs in a pushlog format.

To learn more about the regressing test(s), please see: https://wiki.mozilla.org/TestEngineering/Performance/Talos

For information on reproducing and debugging the regression, either on try or locally, see: https://wiki.mozilla.org/TestEngineering/Performance/Talos/Running

*** Please let us know your plans within 3 business days, or the offending patch(es) will be backed out! ***

Our wiki page outlines the common responses and expectations: https://wiki.mozilla.org/TestEngineering/Performance/Talos/RegressionBugsHandling

Blocks: 1592626
Component: Performance → CSS Parsing and Computation
Product: Testing → Core
Regressed by: 1588431
Version: Version 3 → unspecified
Flags: needinfo?(emilio)

The micro-benchmark style-attr-1.html regressed slightly with my patch, after
the CascadeLevel size increase.

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.

Assignee: nobody → emilio
Flags: needinfo?(emilio)
Priority: -- → P2
Pushed by ealvarez@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/a78c989f5538
Use only Origin during the cascade, rather than CascadeLevel. r=heycam
Status: NEW → RESOLVED
Closed: 2 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla72

== Change summary for alert #23999 (as of Tue, 19 Nov 2019 11:57:11 GMT) ==

Improvements:

27% perf_reftest style-attr-1.html windows10-64-shippable-qr opt e10s stylo 4.90 -> 3.59
26% perf_reftest_singletons style-attr-1.html linux64-shippable-qr opt e10s stylo 4.44 -> 3.31
25% perf_reftest style-attr-1.html linux64-shippable opt e10s stylo 4.47 -> 3.34
25% perf_reftest style-attr-1.html linux64-shippable-qr opt e10s stylo 4.52 -> 3.40
24% perf_reftest_singletons style-attr-1.html windows10-64-shippable-qr opt e10s stylo 4.86 -> 3.70
24% perf_reftest_singletons style-attr-1.html linux64-shippable opt e10s stylo 4.35 -> 3.31
23% perf_reftest style-attr-1.html windows10-64-shippable opt e10s stylo 4.81 -> 3.69
23% perf_reftest_singletons style-attr-1.html windows10-64-shippable-qr opt e10s stylo 4.82 -> 3.70
23% perf_reftest_singletons style-attr-1.html windows10-64-shippable opt e10s stylo 4.87 -> 3.74
15% perf_reftest style-attr-1.html macosx1014-64-shippable opt e10s stylo 5.95 -> 5.08
14% perf_reftest_singletons style-attr-1.html macosx1014-64-shippable opt e10s stylo 5.92 -> 5.06
11% perf_reftest_singletons style-attr-1.html windows7-32-shippable opt e10s stylo 3.62 -> 3.21
8% perf_reftest_singletons link-style-cache-1.html linux64-shippable opt e10s stylo 772.11 -> 710.43
7% perf_reftest_singletons link-style-cache-1.html linux64-shippable-qr opt e10s stylo 793.98 -> 735.07
6% perf_reftest_singletons link-style-cache-1.html windows10-64-shippable opt e10s stylo 830.04 -> 777.25
6% perf_reftest_singletons link-style-cache-1.html windows10-64-shippable-qr opt e10s stylo 826.52 -> 776.38

For up to date results, see: https://treeherder.mozilla.org/perf.html#/alerts?id=23999

You need to log in before you can comment on or make changes to this bug.