Open
Bug 1416180
Opened 7 years ago
Updated 1 year ago
Non-incremental GC spends a lot of time waiting for background threads to finish
Categories
(Core :: JavaScript: GC, enhancement, P3)
Core
JavaScript: GC
Tracking
()
NEW
People
(Reporter: jandem, Unassigned)
References
(Blocks 1 open bug)
Details
Noticed this on bug 1391710 - we allocate a lot so we switch to non-incremental GCs. This involves waiting for background threads to finish and this time shows up in profiles as being pretty significant.
It would be nice if we could either stay incremental or optimized the waiting part somehow.
Comment 1•7 years ago
|
||
Paul, what do you think?
Comment 2•7 years ago
|
||
We generally want to make all GCs incremental. This is gradual and we're attaching the most common causes on non-incremental GCs first. It depends exactly on what's happening in this case (I'll look next week). Jonco recently changed the behaviour with malloc memory thresholds. One of his goals was to reduce the likelyhood of a non-incremental GC due to a malloc memory threshold. However the accounting for malloc memory was also changed and we'd like to know if that bug caused a regression in this test case.
I'm not sure about waiting for background tasks and what can be done. I suspect something can be done about background sweeping but I havn't investigated further.
I'd prefer to work on doing fewer non-incremental GCs. But I'll take a look at the profile.
I've also filed bug 1416541 for one potential improvment.
Assignee: nobody → pbone
Flags: needinfo?(pbone)
Comment 3•7 years ago
|
||
status-firefox59:
--- → ?
Updated•3 years ago
|
Assignee: pbone → nobody
Status: ASSIGNED → NEW
Updated•2 years ago
|
Severity: normal → S3
You need to log in
before you can comment on or make changes to this bug.
Description
•