Return-Path: Delivered-To: apmail-cocoon-dev-archive@www.apache.org Received: (qmail 12040 invoked from network); 12 May 2005 05:38:24 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 12 May 2005 05:38:24 -0000 Received: (qmail 43742 invoked by uid 500); 12 May 2005 05:42:13 -0000 Delivered-To: apmail-cocoon-dev-archive@cocoon.apache.org Received: (qmail 43654 invoked by uid 500); 12 May 2005 05:42:12 -0000 Mailing-List: contact dev-help@cocoon.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: dev@cocoon.apache.org List-Id: Delivered-To: mailing list dev@cocoon.apache.org Received: (qmail 43634 invoked by uid 99); 12 May 2005 05:42:12 -0000 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received-SPF: pass (hermes.apache.org: local policy includes SPF record at spf.trusted-forwarder.org) Received: from smtp002.mail.ukl.yahoo.com (HELO smtp002.mail.ukl.yahoo.com) (217.12.11.33) by apache.org (qpsmtpd/0.28) with SMTP; Wed, 11 May 2005 22:42:12 -0700 Received: from unknown (HELO ?192.168.1.31?) (reinhard?poetz@62.178.239.20 with plain) by smtp002.mail.ukl.yahoo.com with SMTP; 12 May 2005 05:38:11 -0000 Message-ID: <4282EBC0.708@apache.org> Date: Thu, 12 May 2005 07:38:08 +0200 From: Reinhard Poetz User-Agent: Mozilla Thunderbird 0.9 (Windows/20041103) X-Accept-Language: en-us, en MIME-Version: 1.0 To: dev@cocoon.apache.org Subject: Re: Continuation invalidation strategy References: <4275DF46.2020408@apache.org> <4275FA3B.2070402@mobilebox.pl> <42760323.7080804@apache.org> <427659BB.3010904@apache.org> <427EB6BF.4090406@apache.org> <4280BE16.4020702@mobilebox.pl> <4280C36F.5070303@apache.org> <42821CF0.8060803@apache.org> <42822D33.60602@mobilebox.pl> <4282AAA0.1050503@apache.org> In-Reply-To: <4282AAA0.1050503@apache.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit X-Virus-Checked: Checked X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Torsten Curdt wrote: >>Looks like you're descibing current functionality :) > > > ...well, then everything is ok! :-D > > 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. But profiling revealed that the benefit is negligible because continuaitons are very small objects. As said, the referenced objects are the problem as every new continuation tree references new objects in the case an object is stored in a local variable. I don't have a solution for this as I can't find a general rule when a tree can be invalidated, except after some time-out. > 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. -- Reinhard P�tz Independent Consultant, Trainer & (IT)-Coach {Software Engineering, Open Source, Web Applications, Apache Cocoon} web(log): http://www.poetz.cc --------------------------------------------------------------------