>> But seriously: I tried to explain why you cannot >> remove the parent continuation :-) > > > some experiments showed me that it is possible to remove parent > continuations in flowscript.
Hm... if the flowscript implementation only stores modifications this should not be possible :-/ >> One optimization we could add is a maximum >> continuations per session count. Like a sliding >> window. So we don't rely on a fix expiration >> time but additionally expire the oldest ones if >> we run over a certain amount of continuations >> per user. >> >> That would make the memory consumption a bit more >> manageable. > > > hmmm, I'm not sure if this really helps as only if the *whole* > continautions tree (= when the last continuation is invalidated) > referenced objects can be removed by the garbage collector. Well, ...I fear that's the price you have to pay for storing only state differences. Just as a RT: in theory it should be able to mix the approaches! Think of it as a an AVI with keyframes. We could from time to time use continuations that store the full state. That way we don't have to wait for the leaf node to expire. If you remove something from the beginning of an AVI you need to make sure it still starts with a keyframe. See what I mean? ...or even merging the states of multiple continuations into one - but that would be hardcore! cheers -- Torsten
signature.asc
Description: OpenPGP digital signature