RE: [xsl] XSLT 1 vs. 2 stylesheet performance issues

Subject: RE: [xsl] XSLT 1 vs. 2 stylesheet performance issues
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Wed, 30 Jul 2008 22:39:51 +0100
> I'm a bit stumped by the performance issues we're having.  We 
> have an xslt 1 compliant stylesheet that takes 10 minutes to 
> run in xslt 1 processors (Saxon, Xalan, libxslt) and a few 
> seconds in Saxon 9B.  I'm not sure what it can possibly be.

Well, it's certainly not related to the fact that it's an XSLT 2.0
processor. There is absolutely no intrinsic reasons why an XSLT 2.0
processor should be faster at processing a 1.0 stylesheet than a 1.0
processor. It's more likely that development on most 1.0 processors came to
a bit of a standstill about 5 years ago.
> The processor seems to take most of the time in starting the 
> transformation.  Using oxygen, the debugger says Starting 
> transformation and stays there for about 10 minutes before 
> transforming in a matter of seconds.  

Sounds to me as if you're short of memory. The startup phase will be
building the document tree in memory, and will thrash the paging file if
there isn't enough memory to hold it. Check the paging activity, allocate
more memory if you can. How big is the source document?

Though there aren't any significant changes in the TinyTree structure
between Saxon 6.x and 9.x that would account for such a difference during
tree building. What is the -t output from Saxon 6.x and from Saxon 9.x?

Michael Kay

Current Thread