[Pharo-project] [Ann] Ephemerons for Cog

Igor Stasenko siguctua at gmail.com
Tue May 24 16:29:55 CEST 2011


On 24 May 2011 15:20, Toon Verwaest <toon.verwaest at gmail.com> wrote:
> On 05/24/2011 02:57 PM, Igor Stasenko wrote:
>>
>> On 24 May 2011 14:46, Chris Cunnington<smalltalktelevision at gmail.com>
>>  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.



More information about the Pharo-project mailing list