[Pharo-project] Another fixes to finalization (was Re: [update 1.2] #12161 - #12172)

Henrik Sperre Johansen henrik.s.johansen at veloxit.no
Sat Oct 2 20:13:50 EDT 2010


  On 02.10.2010 19:01, Igor Stasenko wrote:
> On 2 October 2010 19:47, Stéphane Ducasse<stephane.ducasse at inria.fr>  wrote:
>> Hi igor
>>
>> do you understand why the previous definition was
>>
>> cachedDefinitions
>>         Definitions ifNil: [Definitions := WeakIdentityKeyDictionary new.  WeakArray addWeakDependent: Definitions].
>>         ^ Definitions
>>
> i don't. :)
>
> It just a way to free memory as fast as possible.
> But its really not worth spending so much CPU in order to save few
> bytes of memory.
Without registering the dict for finalization, the values won't ever be 
removed with the current implementation.
Which can be somewhat hampering to performance once you have lots of 
nil-keyed elements all stashed from index 1 and onwards after a rehash.

Cheers,
Henry




More information about the Pharo-dev mailing list