Re: [xsl] Cheaper to prepend or append an item to a sequence?

Subject: Re: [xsl] Cheaper to prepend or append an item to a sequence?
From: Michael Kay <mike@xxxxxxxxxxxx>
Date: Tue, 22 Feb 2011 12:07:25 +0000
On 22/02/2011 11:27, Costello, Roger L. wrote:
Hi Folks,

When adding an item to a sequence, it is: (circle the correct answer)

(a) Cheaper to add the item to the front of the sequence

(b) Cheaper to add the item to the end of the sequence

(c) Costs the same to add the item to the front or to the end

(d) The cost varies depending on the XSLT processor



(d) (As with all performance questions).


It's not even a simple answer if you know the processor. Saxon will sometimes detect that appending to a sequence can be done without copying, either because the old sequence will never be used again, or because both can share the same storage - and even I find it difficult to predict the circumstances in which the optimizer will determine that such optimizations are feasible.

Also, of course, cost is not one-dimensional: time and space both need to be considered.

Michael Kay
Saxonica

Current Thread