Subject: Re: Re: Benefits of xsl.sequence
From: "Andrew Welch" <andrew.j.welch@xxxxxxxxx>
Date: Tue, 30 Sep 2008 09:17:39 +0100
|
>> <xsl:function name="t:add" as="xs:integer">
[snip]
> Why is <xsl:sequence select="$first + $second"/> more efficient than
> <xsl:value-of select="$first + $second"/>?
It's more efficient because no atomization needs to happen: you've
specified a return type of xs:integer, so the text node created by
xsl:value-of needs to be converted to an xs:integer before its can be
returned. Using xsl:sequence creates just the atomic value.
> I can understand that math on atomic values ought to be more efficient
> than math on text nodes, but is the benefits something we can measure
> in any meaningful sense?
You could try writing a Soduku solver where the input and intermediate
steps are represented using nodes, realise how slow it is, then switch
to using atomics and see the improvement :)
http://andrewjwelch.com/code/xslt/sudoku/sudoku-solver.html
--
Andrew Welch
http://andrewjwelch.com
Kernow: http://kernowforsaxon.sf.net/
|