Subject: Re: how to estimate speed of a transformation
From: David Tolpin <dvd@xxxxxxxxxxxxxx>
Date: Thu, 11 Dec 2003 18:19:01 +0400 (AMT)
|
> XSLT is almost soley specified by expected result, not assuming any
> processing model, and given that, it is very hard to make the kind of
> assurances that you are seeking. I'm not sure if you can even really
> specify what it means to do tail recursion elimination unless you have
> some explict stack model for implementing template calls.
I see. How to specify computational complexity for XSLT constructs is
a question I don't have an answer to.
> In practice though, systems are not at
> either extreme, and the hint given by xsl:key that the system might like
> to optimise that Xpath appears to speed things up on most processors, i
> don't think you can say more than that.
Can I then have hints to trigger other optimisations as well? Is using a global
variable an optimisation hint? Can I somehow give processor a hint that I want
to access a nodeset by position, not by key?
Putting it differently, if xsl:key/key is an optimisation hint, what are other
optimisation hints? In particular, how to hint a particular processor (and preferrably,
more than one) that I want
- a template call to be optimised;
- access to a nodeset by position;
- a particular result to be cached.
I am really trying to understand. What's the difference between, say, existing xsl:key/key
and xsl:index/index (the latter is imaginary access to a nodeset by position)?
David
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|