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...



Reply via email to