On Thu, 6 Mar 2003, Stephan Michels wrote:
On Thu, 6 Mar 2003, Carsten Ziegeler wrote:
Stephan Michels wrote:Doh! ;-) I'll make some longtime stability tests, to verify this. The
There was a reason: a memory leak :) So you can change from performanceI 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'.
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.
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 }