Open Bug 1434542 Opened 2 years ago Updated 7 months ago

Reduce non-incremental GCs by increasing the slice budget as we approach the non-incremental threshold

Categories

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

enhancement

Tracking

()

Tracking Status
firefox60 --- fix-optional

People

(Reporter: jonco, Unassigned)

References

Details

As mentioned in bug 1423065 comment 1.  Non-incremental GCs are bad for the user experience so we should try to avoid them.

The idea is that at some point before we hit the non-incremental GC threshold we should start increasing the slice budget in such a way that we finish the GC before we reach it.  This would add some jank, but not as much as finishing the whole GC non-incrementally.
Severity: normal → enhancement
Priority: -- → P3
Also, we should start increasing the slice budget if the GC takes too long.  Incremental GCs of 25 seconds have been reported.  We should aim to keep the time a GC is active for well below that.
I wonder if you could use the amount of work done in the previous GC to guide how long slice times should be. This doesn't work for the CC because the length varies wildly.
Blocks: 1579426
You need to log in before you can comment on or make changes to this bug.