Subject: RE: 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/
|