1.12 - 1.22% Base Content JS (windows7-32, windows7-32-shippable) regression on push d93e9fef86dd098bfce6b2e7b16da0366298a4b0 (Fri February 28 2020)
Categories
(Core :: JavaScript Engine, defect, P3)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox75 | --- | wontfix |
People
(Reporter: alexandrui, Unassigned)
References
(Regression)
Details
(Keywords: perf, perf-alert, regression)
We have detected an awsy regression from push:
As author of one of the patches included in that push, we need your help to address this regression.
Regressions:
1% Base Content JS windows7-32 opt 2,922,497.33 -> 2,958,189.33
1% Base Content JS windows7-32-shippable opt 2,922,498.67 -> 2,958,190.67
1% Base Content JS windows7-32-shippable opt 2,925,484.67 -> 2,958,314.67
You can find links to graphs and comparison views for each of the above tests at: https://treeherder.mozilla.org/perf.html#/alerts?id=25252
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 jobs in a pushlog format.
To learn more about the regressing test(s), please see: https://wiki.mozilla.org/AWSY/Tests
| Reporter | ||
Updated•6 years ago
|
Updated•6 years ago
|
Comment 1•6 years ago
|
||
I've performed the following two tests to determine why the extra memory is allocated.
- In
CloneFunctionReuseScript, I've commented out these lines to test if the extra memory is needed because the cloned function is no longer nursery allocated or if it is related to creating a newObjectGroup. The comparison shows that commenting out these lines reduces "Base Content JS" by 1.25%. That means the extra memory is not needed for the tenured allocation, but rather it is related to creating a newObjectGroup. - Additionally I've tested what happens when we modify the original's
ObjectGroupin-place in order to avoid creating a whole newObjectGroup. The comparison shows no difference in "Base Content JS". That can mean one of two things:- The added optimisation doesn't apply for "Base Content JS", which would mean some Firefox code is creating many derived classes with varying parent classes. This seems unlikely and I also don't see any indication of this when skimming through the source code.
- The extra memory is needed because we're now running optimisations code paths, which were previously not applied, because the required optimisation information wasn't present.
Right now I have to assume 2.ii applies, in which case the increased memory usage is unavoidable. WarpBuilder should help here, but that project has just been started.
Comment 2•6 years ago
|
||
I've no idea why "status-thunderbird75" was reset by my comment. I also don't seem to be able to revert that change, because "thunderbird75" isn't listed for me under "Tracking Flags"...
Updated•6 years ago
|
| Reporter | ||
Comment 3•6 years ago
|
||
(In reply to André Bargull [:anba] from comment #2)
I've no idea why "status-thunderbird75" was reset by my comment. I also don't seem to be able to revert that change, because "thunderbird75" isn't listed for me under "Tracking Flags"...
Bebe ^
Updated•6 years ago
|
Comment 4•6 years ago
|
||
My bad... sorry for the status-thunderbird75... it should be firefox 75
Comment 5•6 years ago
|
||
Sounds like a wontfix for 75.
Updated•6 years ago
|
Updated•3 years ago
|
Comment 6•1 year ago
|
||
Closing as WONTFIX based on comment #1.
Description
•