[Seaside] New errors, old errors in the dolphin's seaside
avi.bryant at gmail.com
Sun Nov 27 05:24:43 CET 2005
On Nov 26, 2005, at 6:59 PM, Esteban A. Maringolo wrote:
> Indeed, they started to work :-D
> Thanks for the hint!
> Now we must wait and authoritative answer for the side effects of no
> using a weak container.
Well, the side effects are that memory use for an individual session
will grow faster. When the session itself is expired, the memory
will be reclaimed, so there's no danger of a long-term leak, but the
runtime footprint of your seaside application will be larger (and
more tied to the length of the session).
I'm actually not convinced that expiring parts of a session via weak
dictionaries is that great an idea anyway. For one thing, some
people (especially Netstyle, who have some of the more heavily used
Seaside deployments out there) have seen some horrific CPU usage in
Squeak when the weak dictionaries grow too large. For another, the
references between continuations get messy enough that it's very hard
to predict whether and when any memory is actually getting
collected. And finally, expiring "old" pages can lead to some really
bad user experiences if they ever open up multiple windows on the
same session (since you can easily use one window to push the
frontmost page of the other window into expiry, at which point that
other window is totally unusable). So I'd like to find some other
ways to manage long-running sessions.
More information about the Seaside