Ruwan,

Thanks for your analysis. I'm a bit surprised that using a StreamSource gives better results than StaxSource. Can you share with us the stylesheet and the input documents you used in your tests?

Andreas

On 25 juin 08, at 10:12, Ruwan Linton wrote:

Hi devs,

From the performance test figures on this article I found that performance for the XSLT transformations shows a drastic drop in performance with increasing the message size. There fore I did some research on improving the performance of XSLTMediator.

First I though of trying to switch to SAXON as the XSLT processor thinking that it will be faster than XALAN, but when I try to switch the transformer it gives an error because of the fact that we create a StaxSource as the default javax.xml.transform.Source to the transformer, which seems to be not compatible with SAXON.

Then I have used the dom feature to enable DOMSource as the transform source and the DOMResult as the result, which was successful but at the same time was unable to improve the performance with compared to the xsltc transformer (org.apache.xalan.xsltc.trax.TransformerFactoryImpl) of XALAN.

Then I did some more tests and thought of removing the StaxSource and giving the Source as a StreamSource with using the TemporaryData class backed data source. This has shown a considerable improvement to the XSLT transformation and now for 5K messages Synapse is 3-4 times faster than the one we are currently having. Also for 1K messages it shows some improvement. (There is no clear difference between XALAN xsltc and SAXON-b, though SAXON-b shows a little better figures)

There for I propose to remove the StaxSource and use the StreamSource due to the following 2 reasons; It seems like StaxSource is not compatible with some of the XSLT processors (SAXON) Using StreamSource we can get a vast improvement in the performance for large messages I would like to use SAXON-b (open source version of SAXON) as the default XSLT processor, but it has a limitation on Schema awareness. Well, it doesn't do much harm even though we keep XALAN but StaxSource has to be replaced with the StreamSource

WDYT?

Thanks,
Ruwan

--
Ruwan Linton
http://wso2.org - "Oxygenating the Web Services Platform"
http://ruwansblog.blogspot.com/

Reply via email to