Open Bug 1854421 Opened 1 year ago Updated 2 months ago

Investigate spawning a new parser worker on each navigation

Categories

(DevTools :: Debugger, enhancement)

enhancement

Tracking

(Not tracked)

People

(Reporter: ochameau, Unassigned)

References

(Blocks 1 open bug)

Details

Based on bug 1843454 investigations, we do spend as much time doing GC as actually parsing new JS files in the parser worker:
It is quite visible on this profile:
https://share.firefox.dev/46fe3rD
The DOM Worker, for the parser worker is spending 52% of its time doing GCs versus 44% executing javascript.

It may be relevant spawning a brand new worker instead on navigation.
I suspect that the previous worker would be destroyed without having to spend any time doing Javascript GC in the worker thread.
The only trouble we may have here is that it would require re-evaluating the parser worker bundle which is 1.5MB of JS.

I did not move forward with this as killing the worker also cause the problematic GC.

I came up with the following test page that demonstrates the underlying issue:
http://techno-barje.fr/fission/worker-terminate/

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