Stephan Michels wrote:

On Thu, 6 Mar 2003, Stephan Michels wrote:



On Thu, 6 Mar 2003, Carsten Ziegeler wrote:



Stephan Michels wrote:


I do some profiling today, and wondering why the XSLT transformer
burns performance like hell in setup(). After some debugging I noticed
that the XSLT transformer create a complete new template/handler for
each call of setup(), that because the parameter 'use-store' in
cocoon.xconf is set to 'false' per default.

After setting this parameter to 'true', the performance increased
dramatically.

So, is there a reason, why this parameter is set to 'false'? When
not, I would change it to 'true'.



There was a reason: a memory leak :) So you can change from performance
to memory leak. This leak was at least in last Xalan versions, I never
tested if it is in the latest, so perhaps this is fixed now.
If not, you can run into serious memory problems.


Doh! ;-) I'll make some longtime stability tests, to verify this. The
memory leak should also occur if you use the store, except if you forget
to remove the entries. At the moment, the concept of the XSLTC(and other)
doesn't make any sense, because you compile all used stylesheets for
every request :-/



I got NotSerializableException, if I stop the container. This remind with my problems with LexicalTransformer. I solved this problem using own writeObject() and readObject() methods, but the XSLTProcessorImpl using Object[] instances. I also don't know why this array isn't serializable, perhaps the Templates class isn't serializable.

Yesterday I measured a performance enhancement by the factor 20x .
Before each request took 2000-5000ms, which was untenable. After
setting this option, each request took 50-100ms(cached).

Perhaps you have an idea, where the problem lie on?


The problem, I think, comes from the fact that XSLTProcessor uses the transient store to store Templates, and that the <transient-store> in cocoon.xconf has the <parameter name="use-persistent-cache" value="true"/>.


So we actually have a transient store that persists its contents to disk !!!

Sylvain

--
Sylvain Wallez                                  Anyware Technologies
http://www.apache.org/~sylvain           http://www.anyware-tech.com
{ XML, Java, Cocoon, OpenSource }*{ Training, Consulting, Projects }




Reply via email to