cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sylvain Wallez <sylvain.wal...@anyware-tech.com>
Subject Re: XSLTProcessor and Store was: Performance leak
Date Fri, 07 Mar 2003 16:06:22 GMT
Stephan Michels wrote:

>On Fri, 7 Mar 2003, Sylvain Wallez wrote:
>
>  
>
>>>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 !!!
>>    
>>
>
>This is okay, if it's only persists in dispose().
>

Unfortunately, it also persists on free() when the size exceeds the MRU 
limit (see org.apache.excalibur.store.impl.MRUMemoryStore)

Moreover, I just realized (unless I'm missing something) that our 
<persistent-store> only read/writes to disk without an in-memory MRU 
front-end. This may also explain some poor performance.

>But a simple (object instanceof java.io.Serializable) due to
>checkSerializable() seems to be not enough to test if a object
>is serializable.
>

Yes, this isn't enough since the whole object graph starting at the 
serialized object must also be Serializable.

Sylvain

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



Mime
View raw message