On 24 May 2011 15:20, Toon Verwaest <[email protected]> wrote: > On 05/24/2011 02:57 PM, Igor Stasenko wrote: >> >> On 24 May 2011 14:46, Chris Cunnington<[email protected]> >> wrote: >>> >>> "But if the dependents are stored in some global dictionary from model to >>> sequence of dependents then the >>> reference from the global dictionary keeps both the model and the >>> dependents >>> alive." >>> >>> When I hear "global dictionary" I think of a namespace. Perhaps >>> namespaces >>> could add efficiency to the GC. >>> >> I don't see how this could improve anything. >> During full GC, it has to mark all reachable objects, because those >> which won't be marked will be reclaimed. >> >> So, how presence of namespaces could make GC faster? > > If you know up-front that the namespace doesn't disappear, you could > separate those objects from the rest of the objects (in a separate heap) and > avoid marking/sweeping altogether. Basically a multi-heap generational GC; > with namespaces rather than just generations based on age. > Pointers going from one heap to another would have to go over a handle > table, as is usual... >
Yes. Object spaces with gates between them. But this is orthogonal to Ephemerons. -- Best regards, Igor Stasenko AKA sig.
