[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
RE: [xsl] XSLT 2.0 function - fastest node comparison
Subject: RE: [xsl] XSLT 2.0 function - fastest node comparison From: "Andrew Welch" <ajwelch@xxxxxxxxxxxxxxx> Date: Thu, 10 Mar 2005 17:17:50 -0000 |
> > Interestingly, using 'cast as' on $middle to narrow it to > an integer > > causes the execution time to increase by 250ms, so I've > left them all > > as doubles (the positional predicate in $currentNode doesn't > > appear to mind > > using a double). > > That makes me realise that it would actually avoid many > string->number conversions if you extracted the ranges as two > sequences of integers in global variables: > > <xsl:variable name="lows" select="$ranges/*/@from/xs:integer(.)" > as="xs:integer*"/> > <xsl:variable name="highs" select="$ranges/*/@to/xs:integer(.)" > as="xs:integer*"/> > <xsl:variable name="n" select="count($lows)" as="xs:integer"/> > > test="some $i in 1 to $n satisfies ($highs[$i] ge $test and > $lows[$i] le $test)" That's much better still: Old Way New Way 932ms 772ms 931ms 771ms 952ms 781ms 941ms 771ms 931ms 781ms Thanks Mike, always nice to use the 'satisfies' keyword... cheers andrew
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] XSLT 2.0 function - faste, Michael Kay | Thread | [xsl] calling two consecutive xsl f, RQamar |
Re: [xsl] XML to Database Inserts v, Wendell Piez | Date | Re: [xsl] calling two consecutive x, António Mota |
Month |