[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
>> 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.
More information about the Pharo-dev