xsl-list
[Top] [All Lists]

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

2011-02-22 16:07:49

Even with a forward-chained list, you can implement append without copying
if you choose, at least for the first append operation to a given list
(which 9 times out of 10 will be the only append operation).
How is that?  If I have X=[1,2,3] ; Y=X ; Z=Y++[4]

How can Z append Y without copying it first?

When one list A is a sublist of another list B, A does not need separate storage - it can be implemented by means of pointers to the first and last items from B that are to be included in A. Therefore if A is not already a sublist of another list, you can create B by making a longer list and making A a sublist of the new list. Saxon does this using arrays rather than linked lists, but the same principle would work either way.

Michael Kay
Saxonica



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--