Closed Bug 1743423 Opened 2 years ago Closed 2 years ago

0.92 - 0.9% Base Content JS / Base Content JS + 2 more (Linux, OSX, Windows) regression on Fri November 26 2021

Categories

(Core :: JavaScript: GC, defect, P3)

defect

Tracking

()

RESOLVED WONTFIX
Tracking Status
firefox-esr91 --- unaffected
firefox94 --- unaffected
firefox95 --- unaffected
firefox96 --- affected

People

(Reporter: aglavic, Assigned: jonco)

References

(Regression)

Details

(Keywords: perf, perf-alert, regression)

Perfherder has detected a awsy performance regression from push 0daeadd3c56cce26b351c7cc3b067d0dda71ecb4. 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)
1% Base Content JS linux1804-64-shippable-qr 1,786,718.00 -> 1,803,140.67
1% Base Content JS linux1804-64-shippable-qr 1,786,756.67 -> 1,803,188.67
1% Base Content JS windows10-64-2004-shippable-qr 1,792,120.00 -> 1,808,504.00
1% Base Content JS macosx1015-64-shippable-qr 1,813,760.00 -> 1,830,168.00

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.

Flags: needinfo?(jcoppeard)

Set release status flags based on info from the regressing bug 1742591

(In reply to Andrej (:andrej) from comment #0)
This is a 16KB increase on all platforms. On the plus side, preliminary telemetry results show a 20% reduction in time spent in the root marking phase. However that phase is usually pretty short (median 400 uS, although it can be much longer). The change is also a decent code simplification.

I'd like to keep the code simplification. It's possible we could reduce the memory overhead by storing the pinned atoms in a sparse bitmap like we do for Zone::markedAtoms_. I'll test a patch that does that.

Assignee: nobody → jcoppeard
Flags: needinfo?(jcoppeard)

Jan also has a patch which we hope will mitigate most of this increase.

(In reply to Jon Coppeard (:jonco) from comment #3)
Storing pinned atoms in a sparse bitmap improves base content JS by 7KB.

Depends on: 1744036
Priority: -- → P3

(In reply to Jon Coppeard (:jonco) from comment #4)
Bug 1744036 has improved the situation by saving 10KB, mitigating a lot of this regression. I think we should accept the remaining 6KB increase.

Hopefully future changes will allow us to statically allocate all these atoms and improve things further.

Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → WONTFIX

Are we planning to uplift bug 1744036 to Beta to mitigate the regression in 96 too?

Flags: needinfo?(jdemooij)

(In reply to Ryan VanderMeulen [:RyanVM] from comment #7)

Are we planning to uplift bug 1744036 to Beta to mitigate the regression in 96 too?

It's not a large memory usage regression and the XPConnect changes are not trivial, so I'd prefer letting it ride the trains in case it regressed something.

Flags: needinfo?(jdemooij)
Has Regression Range: --- → yes
You need to log in before you can comment on or make changes to this bug.