Open Bug 1151836 Opened 11 years ago Updated 2 years ago

WholeCellEdges store buffer can slow down minor GCs a lot

Categories

(Core :: JavaScript: GC, defect)

defect

Tracking

()

People

(Reporter: jandem, Unassigned)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

Attached file Shell testcase
Luke told me about a webgl demo where we are a lot slower than Chrome and IE. A big part of the problem is that it hits a store buffer worst case scenario. The attached shell micro-benchmark demonstrates the problem: d8: 260 ms js --no-ggc: 480 ms js: 1630 ms We create a huge number of WholeCellEdges store buffer entries, and have to mark a ton of objects on every minor GC.
Attachment #8589099 - Attachment mime type: text/x-c → text/javascript
Component: JavaScript Engine → JavaScript: GC
Flags: needinfo?(terrence)
I'm currently working on speeding up the marking we do for store buffers. Unfortunately, depending on the object sizes we may not be able to get down to d8 levels until we can do page marking.
Flags: needinfo?(terrence)
Depends on: 1161664
Severity: normal → S3

We are 4x-5x slower on this testcase.

Nightly : https://share.firefox.dev/4fOkwib (420ms-450ms without the profiler)
Chrome: https://share.firefox.dev/3WRNncT (80ms-100ms without the profiler)

Edit: and a profile with 10x the loop count : https://share.firefox.dev/3Xhmh0l

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: