xsl-list
[Top] [All Lists]

Re: Re: Re: xsl:for-each evaluator?

2003-06-11 21:39:45

"Michael Kay" <mhk(_at_)mhk(_dot_)me(_dot_)uk> wrote in message
news:001b01c33065$aafbe190$6401a8c0(_at_)pcukmka(_dot_)(_dot_)(_dot_)

One *cannot know* if a program will terminate -- unless this
property has a strict proof.

That's true in general. But there is a large class of stylesheets for
which you can prove termination: anything that only selects downwards
will finish in finite time if given a finite source document.

Yes, definitely.



It's not clear what the OP was asking for, but I don't think he wanted
static analysis, just some kind of instrumentation.

There's tracing in Saxon, including a tool that gives you a trace with
timing information, and a stylesheet for analyzing the trace output.
Unfortunately the timing information you can get from Java is very
coarse-grained, so it's of limited use.

From my observation with Saxon 6.5 I get the stylesheet execution time
reported as at least 120 milliseconds even for the simplest transformations.
Times from other XSLT processors -- MSXML: from a fraction of a millisecond
to 3-5 milliseconds, xsltProc: 10 milliseconds, JD: 50 milliseconds.

But Saxon doesn't seem to perform slower than xsltProc or JD.


It is nice to have built-in tracing and profiling capabilities. On the other
side, using extension functions that read the time may be problematic, as
reading the time is a side effect (e.g. calls to such extension functions
may be rearranged or even eliminated by lazy evaluation and optimization).



=====
Cheers,

Dimitre Novatchev.
http://fxsl.sourceforge.net/ -- the home of FXSL




 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list