Re:Getting snappy – performance optimisations in Firefox 13
by AshleysBrain on Friday May 11, 2012 @09:59AM
(#3959189)
Anyone know any more details on what's actually different about the cycle collector?
[ Parent
| on HN ]
Re:Getting snappy – performance optimisations in Firefox 13
by mccr8 on Friday May 11, 2012 @12:05PM
(#3959888)
I work on the cycle collector. The basic idea of a cycle collector is to trace through suspicious objects to find ones that can be freed. If you can tell that an object is alive, then you don't need to trace through it. There was already some support for this (if a DOM object is in a document being displayed, it must be alive), but we've added support for many other common cases (for instance, if a JS object is reachable from a DOM object that is in a document that is currently being displayed, it and all JS objects reachable from it must be alive).
This is mostly a process of logging what the cycle collector is looking at, then trying to figure out if there are reasons why particular objects are always alive that we could take advantage of. The most common cases have been taken care of in Firefox 12 and 13, so we're left with a variety of little cases. This results in exciting bugs with names like "unmark gray objects held alive by nsXBLDocGlobalObject of skippable nsXBLDocumentInfo" ( https://bugzil.la/735550 ).
The bug grayrest linked to has a good list of them, as well as one of its subbugs ( https://bugzil.la/716598 ).
Re:Getting snappy – performance optimisations in Firefox 13
by AshleysBrain on Friday May 11, 2012 @03:37PM
(#3960939)
Thanks for the info!