Subject: RE: Performance question
From: Kay Michael <Michael.Kay@xxxxxxx>
Date: Tue, 22 Jun 1999 15:08:49 +0100
|
> A big thanks to James on determining the performance
> bottleneck. Here is a recap and resolution.
>
SAXON will behave in much the same way: position() is far cheaper than
xsl:number. The naive algorithm for numbering n successive nodes using
xsl:number has performance proportional to n squared, and it's not at all
easy to identify the cases that are suitable for optimising.
My vote would be to throw out xsl:number and replace it with a function
position-in() that returns the position of an arbitrary node in an arbitrary
node-set. Not only would this be much easier to implement efficiently, it
would also be more flexible and more consistent with the rest of XSL.
Mike Kay
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|