RE: [xsl] Question about XSLTC

Subject: RE: [xsl] Question about XSLTC
From: Michael Kay <mike@xxxxxxxxxxxx>
Date: Tue, 07 Aug 2007 00:23:02 +0100
> There have been scenarios where increase of speed was more 
> then 20 fold (!). 

Actually I had one client who asked me to visit to look at performance
problems with a stylesheet running under Saxon 6.5. I spent half an hour
looking over the code, couldn't see any obvious reason why it should take 40
seconds to run, so I suggested that we try it under Saxon 8.x, and it ran in
under a second. They paid me, I took the next train home, and I never did
get to find out exactly why it made such a difference.

That's without any code changes to take advantage of the new features in
2.0....

To be fair though you can't always expect this. Sometimes you just strike
lucky when you switch from one processor to another because the optimizer
happens to recognize a particular coding pattern that you've used. Such
effects don't tend to be repeatable from one stylesheet to another - but the
more mature the processor, the better your chances.

In comparison with rewrite optimization, byte-code generation at the back
end (as done in XSLTC and in the latest Saxon-SA) only makes modest
contributions to overall performance - a factor of two is probably all you
can hope for in most cases, less if your stylesheet is dominated by parsing,
tree-building, serialization, or sorting costs. And one of the downsides of
doing byte-code generation is that once you've done it, the development cost
of introducing new rewrites is greater because they often have to be
supported in the code generator.

Michael Kay
http://www.saxonica.com/

Current Thread