Closed Bug 1920761 Opened 1 year ago Closed 1 year ago

Make whole cell store buffer tracing more efficient

Categories

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

task

Tracking

()

RESOLVED FIXED
133 Branch
Tracking Status
firefox133 --- fixed

People

(Reporter: jonco, Assigned: jonco)

Details

(Keywords: perf-alert)

Attachments

(2 files)

Currently we iterate through the whole cell store buffer using a linked list, from the most recently allocated to the least recently allocated. However the elements of this list are all allocated from a LifoAlloc so mostly follow each other in memory. We can use the LifoAlloc to iterate them and avoid pointer chasing.

The linked list is still necessary for sweeping.

These should be actual constants not members which are const.

Pushed by jcoppeard@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/748d63c0f0a2 Part 1: Remove constant members from ArenaCellSte r=sfink https://hg.mozilla.org/integration/autoland/rev/01a47e72987a Part 2: Step directly through the elements of the whole cell store buffer rather than using a linked list r=sfink
Status: NEW → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 133 Branch

(In reply to Pulsebot from comment #3)

Pushed by jcoppeard@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/748d63c0f0a2
Part 1: Remove constant members from ArenaCellSte r=sfink
https://hg.mozilla.org/integration/autoland/rev/01a47e72987a
Part 2: Step directly through the elements of the whole cell store buffer
rather than using a linked list r=sfink

Perfherder has detected a browsertime performance change from push 01a47e72987a3b02eb1d54a9a2011504f3b8038b.

Improvements:

Ratio Test Platform Options Absolute values (old vs new) Performance Profiles
21% expedia LastVisualChange linux1804-64-shippable-qr fission warm webrender 2,772.56 -> 2,184.71 Before/After
17% expedia PerceptualSpeedIndex linux1804-64-shippable-qr fission warm webrender 1,265.24 -> 1,052.40 Before/After
15% expedia LastVisualChange macosx1015-64-shippable-qr fission warm webrender 2,335.18 -> 1,978.94 Before/After
14% expedia SpeedIndex linux1804-64-shippable-qr fission warm webrender 725.18 -> 620.41 Before/After
14% expedia PerceptualSpeedIndex macosx1015-64-shippable-qr fission warm webrender 1,164.41 -> 1,005.68 Before/After
... ... ... ... ... ...
4% expedia ContentfulSpeedIndex linux1804-64-shippable-qr fission warm webrender 433.72 -> 415.76 Before/After

Details of the alert can be found in the alert summary, including links to graphs and comparisons for each of the affected tests.

If you need the profiling jobs you can trigger them yourself from treeherder job view or ask a sheriff to do that for you.

You can run these tests on try with ./mach try perf --alert 2372

For more information on performance sheriffing please see our FAQ.

Keywords: perf-alert
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: