At Mon, 2 Nov 2009 19:18:09 +0100,
Lukas Renggli wrote:
> 
> > Please, can you elaborate, what you consider 'broken features' and why?
> > I am also not a fan of using flawed stuff.
> 
> Weak objects are flawed in Pharo and Squeak. If you have an unbounded
> number of weak references it can quickly happen that the system spends
> 95% or more of the CPU cleaning up the weak references. For Seaside
> 2.8 we spent quite some time in getting rid of all weak references,
> afterwards we had a cleaner, easier to understand and much faster
> solution.

  Just to be clear.  Is it because the need to process the dictionary
that registers the objects needs to be finalized, right?  For this
case, these subscriptions objects don't have to be finalized, I
think.  The subscriber holds onto a WeakArray of size one, and the
element just becomes nil.  And when announcing something, you can just
skip (and remove) subscription objects who have nil subscribers.

  Or, is there actually a problem just having weak arrays?

-- Yoshiki

_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to