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

Reply via email to