RE: [xsl] Efficiency: predicate vs function

Subject: RE: [xsl] Efficiency: predicate vs function
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Sun, 22 Jul 2007 21:21:21 +0100
> For example, to return a sequence of all items but the last [sic: first], 
> which of the following is better?
> 
> $x[ position() > 1 ]
> 
> or
> 
> remove( $x , 1 )
> 

It's impossible to say in general, it's processor-dependent. Saxon compiles
both of these into exactly the same code, effectively an expression
tail($x). This construct is specially recognized at run-time to avoid
copying the sequence unnecessarily.

Use saxon:explain="yes" if you're interested in details of how Saxon has
compiled the code.

Michael Kay
http://www.saxonica.com/

Current Thread