[Seaside] Re: Why isn't this a weak dictionary of some ilk?

Lukas Renggli renggli at gmail.com
Wed Apr 22 17:07:38 UTC 2009


> Can you say more about this? To what extent do weak dictionaries not work?

Earlier versions of Seaside were using weak data structures
excessively to keep track of application state. The use of weak data
structures simplified the Seaside implementation considerably, but
causes a lot of problems under high load:

  http://lists.squeakfoundation.org/pipermail/squeak-dev/2004-November/084328.html
  http://lists.squeakfoundation.org/pipermail/squeak-dev/2005-March/089449.html
  http://lists.squeakfoundation.org/pipermail/seaside/2006-March/007258.html
  http://lists.squeakfoundation.org/pipermail/seaside/2006-May/007706.html

At some point we removed all weak data structures from Seaside,
because it could bring images to a halt when a lots of data was stored
and eventually finalized. Squeak performance behaved much more
predictable if we wasted memory.

> Lukas, can you please share a details, what problems you have met.
> A Weak*** stuff is one of the important parts of the system, and its
> in our best interests to make it work rock solid.

We would really appreciate a clean solution using weak data
structures, but at that time we did not find another solution than use
an ugly workarounds.

Cheers,
Lukas

-- 
Lukas Renggli
http://www.lukas-renggli.ch


More information about the seaside mailing list