[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] Here's how to benchmark your XSLT program's execution time


Subject: Re: [xsl] Here's how to benchmark your XSLT program's execution time
From: "Michael Kay mike@xxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Thu, 6 Nov 2014 15:15:51 -0000

>> Order of evaluation is undefined in XSLT, and there is no guarantee
>> that $start is evaluated before the apply-templates call is evaluated.
>
> Yikes!
>
> So how do I write the XSLT program so that it is guaranteed that $start will
be evaluated before the apply-templates call is evaluated?
>
There is no guaranteed-portable way of doing this. Doing an xsl:message that
references $start before the apply-templates call would increase your chances;
but there's still no guarantee that $start won't be evaluated much earlier,
e.g. at compile time.

A safer way to get timing information with Saxon is to use a TraceListener.
This is what the Saxon profiler (command line option -TP) does.

Michael Kay
Saxonica


Current Thread
Keywords