Subject: RE: XPath "//", speed, and Saxon
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Mon, 3 Nov 2008 12:51:58 -0000
|
> This example from my tutorial about testing XSLT [1] shows
> the result of profiling the same stylesheet and data in both
> xsltproc and Saxon: the two XSLT processors agreed on which
> were the two most time-intensive templates, but after that,
> their results differed.
Profiling is useful, but it also has considerable limitations. The more
powerful the optimizer, the harder it is to relate what happens at run-time
to your original source code.
Hence the rhetorical question in the paper: "...but why is a simple <hr/> a
hotspot?" (Answer could be, for example, because it often fills a buffer in
the serializer causing the serializer to process the buffer contents)
Incidentally, one minor comment
>Only xsltproc provides a command-line switch for running the transformation
time multiple times
Saxon has had such a switch for some time, though only recent releases have
documented it (-repeat:99).
I think there's another important (if obvious) point that's not made in the
paper: don't assume that your performance problem is in the XSLT code until
you've drilled down to that level. I did a bit of tuning for a client
recently where it turned out 80% of the cost was spent in some simple
user-written code to generate the XML input for the transformation.
Michael Kay
http://www.saxonica.com/
| Current Thread |
|
Michael Kay - 3 Nov 2008 12:52:23 -0000 <=
|
| <- Previous | Index | Next -> |
| Re: XPath "//", speed, and Sa, Tony Graham
|
Thread |
Re: XPath "//", speed, and Sa, Tony Graham
|
| Re: XPath "//", speed, and Sa, Andrew Welch
|
Date |
RE: XPath "//", speed, and Sa, Michael Kay
|
|
Month |
|
|