Open Bug 1933196 Opened 1 year ago Updated 1 year ago

Long COMPARTMENT_REVIVED GCs during sp3 on Android

Categories

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

Unspecified
Android
task

Tracking

()

People

(Reporter: jonco, Assigned: jonco)

References

(Blocks 1 open bug)

Details

There are a a couple of COMPARTMENT_REVIVED GCs happening while running the sp3 benchmark on Android, at least in this profile: https://share.firefox.dev/497adD1

This is pretty bad because they are non-incremental which means everything (including what would other wise be background sweeping) happens on the main thread. In this profile they run for around 300ms.

Some possible ways to improve this:

  • these only need to be non-incremental up to the end of marking; after that point we can sweep incrementally / on a background thread as usual
  • we could not do this non-incremental GC immediately but only if they survive a couple of normal GCs first

This feature was added to help clean up memory that was otherwise taking a long time to be freed. As with all things it's a tradeoff, here between promptness of memory reclaim and performance.

I captured GC profile information running sp3 on an Android device locally, however there were no COMPARTMENT_REVIVED GCs triggered.

Severity: -- → N/A
Priority: -- → P3
Assignee: nobody → jcoppeard
You need to log in before you can comment on or make changes to this bug.