On Mar 27, 2008, at 13:18, Joerg Heinicke wrote:
On 27.03.2008 04:39, Torsten Curdt wrote:
Sure, here is the hierarchy from bottom to top. At this point, I
ran the test for about five
minutes (running longer would increase the percentage) and the
retained size of the one
ContinuationsManagerImpl object is 58% of the total. The
BufferedOutputStream is 50% of the
total, so the other 8% is consumed by the objects in between.
org.apache.cocoon.util.BufferedOutputStream
secureOutputStream of
org.apache.cocoon.environment.http.HttpEnvironment
env of
org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor
$TreeProcessorRedirector redirector of
org.apache.cocoon.components.flow.java.ContinuationContext
What I was so much concerned about here was the fact of storing
the whole environment in the continuation, especially since we
have this non-flushing BufferedOutputStream at the end. Is there
any point in storing the environment? Do we get anything useful
out of it after continueing the continuation?
What do you mean by "environment" ...it's not like the whole jvm is
stored but only the flow. External resources should be injected (vs
stored) as much as possible.
Just have a look at the quote from the original. It gives the object
relationships in the memory. BufferedOutputStream takes 50% and is
hold in HttpEnvironment which is hold in TreeProcessorRedirector
which is hold in ContinuationContext. I wondered why it is there.
Ah ...well, the ContinuationContext should be short living. Maybe
there is a dangling reference to it?
(Let's stop cross posting and move over to the dev list)
cheers
--
Torsten