Closed
Bug 1270515
Opened 9 years ago
Closed 9 years ago
2.49 - 3.89% cart / tart (linux64, windows7-32, windowsxp) regression on push 581279cd287e34b4af6b2544daff4589b6a2e580 (Wed May 4 2016)
Categories
(Core :: CSS Parsing and Computation, defect)
Core
CSS Parsing and Computation
Tracking
()
RESOLVED
FIXED
mozilla49
Tracking | Status | |
---|---|---|
firefox47 | --- | unaffected |
firefox48 | --- | unaffected |
firefox49 | --- | fixed |
People
(Reporter: wlach, Assigned: bholley)
References
Details
(Keywords: perf, regression, Whiteboard: [talos_regression])
Attachments
(3 files)
3.74 KB,
patch
|
dbaron
:
review+
|
Details | Diff | Splinter Review |
3.19 KB,
patch
|
dbaron
:
review+
|
Details | Diff | Splinter Review |
3.65 KB,
patch
|
dbaron
:
review+
|
Details | Diff | Splinter Review |
Hi Bobby, could you investigate this?
jmaher generated a compare view with a bunch more information on what regressed.
https://treeherder.mozilla.org/perf.html#/compare?originalProject=mozilla-inbound&originalRevision=374889c1ff7d&newProject=mozilla-inbound&newRevision=581279cd287e&framework=1
Looking at the subtests for win7 this looks like an across-the-board cart regression (haven't diagnosed tart):
https://treeherder.mozilla.org/perf.html#/comparesubtest?originalProject=mozilla-inbound&originalRevision=374889c1ff7d&newProject=mozilla-inbound&newRevision=581279cd287e&originalSignature=6c4052da1f625e6fc89a169fd288e723db7b73b6&newSignature=6c4052da1f625e6fc89a169fd288e723db7b73b6&framework=1
--
Talos has detected a Firefox performance regression from push 581279cd287e34b4af6b2544daff4589b6a2e580. As author of one of the patches included in that push, we need your help to address this regression.
This is a list of all known regressions and improvements related to the push:
https://treeherder.mozilla.org/perf.html#/alerts?id=1103
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/Buildbot/Talos/Tests#TART.2FCART
Reproducing and debugging the regression:
If you would like to re-run this Talos test on a potential fix, use try with the following syntax:
try: -b o -p win32,linux64 -u none -t svgr[Windows 7,Windows XP],svgr-e10s[Windows 7,Windows XP] --rebuild 5 # add "mozharness: --spsProfile" to generate profile data
(we suggest --rebuild 5 to be more confident in the results)
To run the test locally and do a more in-depth investigation, first set up a local Talos environment:
https://wiki.mozilla.lorg/Buildbot/Talos/Running#Running_locally_-_Source_Code
Then run the following command from the directory where you set up Talos:
talos --develop -e [path]/firefox -a tart:cart
(add --e10s to run tests in e10s mode)
Making a decision:
As the patch author we need your feedback to help us handle this regression.
*** Please let us know your plans by Monday, or the offending patch(es) will be backed out! ***
Our wiki page outlines the common responses and expectations:
https://wiki.mozilla.org/Buildbot/Talos/RegressionBugsHandling
Flags: needinfo?(bobbyholley)
Assignee | ||
Comment 1•9 years ago
|
||
So the issue here is that we end up creating various nsStyleCoord temporaries each time we call nsStyleSides::Get, and that creating those temporaries is more expensive than it should be because it involves an unnecessary call to Reset. I have patches for both issues.
Flags: needinfo?(bobbyholley)
Assignee | ||
Comment 2•9 years ago
|
||
Attachment #8749486 -
Flags: review?(dbaron)
Assignee | ||
Comment 3•9 years ago
|
||
Attachment #8749487 -
Flags: review?(dbaron)
Assignee | ||
Comment 4•9 years ago
|
||
The previous patches prevent us from generating temporaries at the affected callsites,
but this could still have benefits in other places.
Attachment #8749488 -
Flags: review?(dbaron)
Assignee | ||
Comment 5•9 years ago
|
||
Comment on attachment 8749486 [details] [diff] [review]
Part 1 - Avoid synthesizing temporary nsStyleCoords in nsStyleSides::ConvertsToLength. v1
>+ // Callers must verify IsCalcUnit before calling this routine.
>+ static Calc* AsCalcValue(nsStyleUnion aValue) {
>+ return static_cast<Calc*>(aValue.mPointer);
>+ }
>+
Could you move this down next to all the Get*Value declarations?
Please either replace "routine" with "method" or "function".
Attachment #8749486 -
Flags: review?(dbaron) → review+
Attachment #8749487 -
Flags: review?(dbaron) → review+
Attachment #8749488 -
Flags: review?(dbaron) → review+
Assignee | ||
Updated•9 years ago
|
Assignee: nobody → bobbyholley
Comment 8•9 years ago
|
||
thanks, I see some wins already!
https://treeherder.mozilla.org/perf.html#/alerts?id=1124
Comment 9•9 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/56ebc38830b4
https://hg.mozilla.org/mozilla-central/rev/abe9894a40eb
https://hg.mozilla.org/mozilla-central/rev/332bd75b5e97
Status: NEW → RESOLVED
Closed: 9 years ago
status-firefox49:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → Firefox 49
Assignee | ||
Comment 10•9 years ago
|
||
Joel, can you confirm we're all good here?
Flags: needinfo?(jmaher)
Comment 11•9 years ago
|
||
all good, a couple lines are not back to normal as there was 2 regressions in a row on the tree (oh fun times), but for every single graph of the original regression there is a corresponding improvement.
Flags: needinfo?(jmaher)
Assignee | ||
Comment 12•9 years ago
|
||
\o/
Updated•9 years ago
|
status-firefox47:
--- → unaffected
status-firefox48:
--- → unaffected
Component: Untriaged → CSS Parsing and Computation
Product: Firefox → Core
Target Milestone: Firefox 49 → mozilla49
Version: unspecified → Trunk
You need to log in
before you can comment on or make changes to this bug.
Description
•