[squeak-dev] Finalization enhancement

Igor Stasenko siguctua at gmail.com
Mon Feb 22 15:30:44 UTC 2010

On 21 February 2010 19:18, Levente Uzonyi <leves at elte.hu> wrote:
> Hi,
> since WeakRegistry is refactored, there's an easy way to enhance
> finalization performance, by changing WeakRegistry >> #installFinalizer's
> implementation to
> installFinalizer
>        valueDictionary finalizer: #finalize
> This means that the object finalizers (executors) are not collected, but are
> immediately evaluated whenever the WeakRegistry finds them. Therefore these
> objects live for a shorter time and need less administration.
> But there's a side effect. Currently only the WeakArray finalization process
> can evaluate the finalizers'. If we change this, any process which accesses
> the WeakRegistry may evaluate finalizers.
> I can't think of any problem with the side effect, but I may be wrong.
> Should we change the current behavior?

My 2c.
I think, if one uses WeakRegistry, he should rely on its behavior. And
if he using own finalization shemes - then he won't be using
WeakRegistry anyways. So, i think it is safe to use optimization
(though i'm not looked at the code).

> Cheers,
> Levente

Best regards,
Igor Stasenko AKA sig.

More information about the Squeak-dev mailing list