Looking around our memory usage [1], I found that readerWorker.js is taking up ~3.5MB in the TabsOpen stage [2]. Based on some bugs [3] I assumed that the worker should be GC'd after 30 seconds. I still see readerWorker.js taking ~3.5MB in the TabsOpenSettled stage, which should be happening 30 seconds after TabsOpen. Next, in TabsOpenForceGC, readerWorker.js is gone and it's memory freed.
My question is: Was it the forced GC that freed the readerWorker? Or did the 30 second timeouts race each other and TabsOpenSettled loses by a tiny bit so we are lead to believe the memory won't be freed? If we require a GC to free the memory, should we add one? The bug [3] mentions "memory-pressure" and "child-gc-request" notifications triggering different types of GC. I'd love it if we did not need to do anything and the memory is just freed by the built-in 30 second timer. I guess we might need some manual test runs to prove it one way or another. Finkle [1] https://areweslimyet.com/mobile [2] If you don't know what I mean by stages, click on a line and "view" the data. You should see a tree of stages and at each stage you can see the about:memory data. [3] https://bugzilla.mozilla.org/show_bug.cgi?id=718100
_______________________________________________ mobile-firefox-dev mailing list mobile-firefox-dev@mozilla.org https://mail.mozilla.org/listinfo/mobile-firefox-dev