Open Bug 1926478 Opened 4 months ago Updated 3 months ago

Too much time in SetElementMegamorphic for "completeWork" in TodoMVC-React-Redux due to lock contention

Categories

(Core :: JavaScript Engine: JIT, defect, P2)

ARM64
Android
defect

Tracking

()

People

(Reporter: denispal, Unassigned)

References

(Blocks 1 open bug)

Details

(Whiteboard: [sp3])

A lot of time spent under malloc trying to grow slots, similar to bug 1926472. We are 2.5x slower than Chrome on this function.

Firefox: https://share.firefox.dev/3Umbyj7
Chrome: https://share.firefox.dev/3YonfXY

Source: https://github.com/mozilla/Speedometer/blob/537d5769ef9ef3fa9a236884eae4d109c0628833//resources/todomvc/architecture-examples/react-redux/dist/app.bundle.js#L4284
(Too long to copy into a comment.)

Looking at this again, it seems the problem may be mostly lock contention here with an IonFreeTask.
You can see the problem closely here: https://share.firefox.dev/4hkmhVh

Summary: Too much time in SetElementMegamorphic for "completeWork" in TodoMVC-React-Redux → Too much time in SetElementMegamorphic for "completeWork" in TodoMVC-React-Redux due to lock contention
See Also: → 1913757
See Also: → 1926480
Whiteboard: [js-perf-next]

Also seeing this lock contention in Editor-TipTap: https://share.firefox.dev/48lcfyN
Here is one case there: https://share.firefox.dev/3UlMCZf

Severity: -- → S3
Priority: -- → P2

Bug 1911537 tracks Jon's work to use a custom GC-managed allocator for slots/elements, instead of malloc. That should help here.

Removing the js-perf-next whiteboard tag, because there isn't anything concrete to be done on this bug right now.

Whiteboard: [js-perf-next]
Whiteboard: [sp3]
You need to log in before you can comment on or make changes to this bug.