Support #3630
closed
Saxon performance without xsl:stream
Fixed in Maintenance Release:
Description
I want to upgrade from xerces to saxon HE 9.5.1 and I would like to know how much performance improvement I should expect for my xslt scripts regarding the parsing of large xml files. Or do I need to use xmsl:stream? It is unfortunatly not available in the HE version?
Thanks
The XSLT 3.0 xsl:stream instruction was replaced by xsl:source-document streamable="yes" in the final XSLT 3.0 specification.
Yes, streaming is not available in Saxon-HE.
Streaming of large documents gives a huge benefit in terms of memory usage, but it doesn't give any significant speed benefits, except in the case where shortage of memory is making things slow. Very often the performance of a transformation is dominated by XML parsing, and of course the parsing works exactly the same way whether the transformation is streamed or not.
Your mileage may vary! The only way to find out how performance varies for a particular workload is to make measurements with that workload.
Please note that the current Saxon release is 9.8; version 9.5 is quite old now, and support for streaming has moved on quite a bit in the later releases.
You may find that Saxon gives a substantial performance boost over Xalan for large documents even without streaming.
HI Michael,
thanks a lot.
-
This means that I do not need to use the xsl:stream function with large xml files as long as I have enough RAM (8 GB for example) for the jboss fuse 6.3 server? correct? My files can grow up to 500 MB.
-
I see also that xslt 3.0 support is missing on saxon 9.5 HE? correct? this means that I would not be able to upgrade from xslt 1.0 to xslt 3.0?
Any recommandation?
thanks
-
Yes. 500Mb is getting close to the limits for a non-streamed transformation, but it's feasible in principle.
-
I'm not sure why you want to use Saxon 9.5. It's quite an old release. You definitely want 9.8, even without the XSLT 3.0 support.
Hi Michael,
it is due to jboss fuse 6.3 which comes with a packaged saxon 9.5.1 release. Do you think that I could replace that jar with a saxon 9.8 release and try?
Thanks
That's a question for the JBoss support community, I'm afraid. It all depends whether they have stuck to stable APIs or whether they dive in more deeply.
- Status changed from New to Closed
- Assignee set to Michael Kay
Marking this thread as closed; feel free to reopen it if necessary.
Please register to edit this issue
Also available in: Atom
PDF