|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: Performance Tuning
Andrew,
Thanks for your suggestions but I could not gain
significant amount with your suggestions.
Its coming around the same with saxon parser.
--- Andrew Welch <ajwelch@xxxxxxxxxxxxxxx> wrote:
>
> > > The XSL that I use has three
> "preceding-sibling::"
> > > The time taken to parse a 150KB XML in Xalan is
> 1.9
> > > sec and with Saxon8 its 1.6 secs.
> > >
> > > Since the above parsing is done frequently in my
> > > application with different input XMLs. I need to
> > > further reduce the transformation timing (in
> > > milliseconds may be). The only bottleneck I see
> are
> > > the 3 preceding-sibling. Can we somehow remove
> them
> > > or
> > > use some other logic, to reduce my
> transformation
> > > time.
>
> Rather than walk the preceding-sibling axis many
> times, why not perform
> a single pass in a global variable and then key into
> that for the
> positions:
>
> So, the top-level variable:
>
> <xsl:variable name="parentGroup">
> <xsl:for-each select="ParentGroup">
> <parentgroup id="generate-id()"
> pos="position()"/>
> </xsl:for-each>
> </xsl:variable>
>
> And the key:
>
> <xsl:key name="parentGroups" match="ParentGroup"
> use="@id"/>
>
> Then, instead of using
> count(preceding-sibling::ParentGroup), use:
>
> <xsl:value-of select="key('parentGroups',
> generate-id())/@pos"/>
>
> Remember you will need to change the context node to
> $parentGroup before
> using the key.
>
> If you do this, please post back any changes in
> performance.
>
> cheers
> andrew
>
>
___________________________________________________________
ALL-NEW Yahoo! Messenger - all new features - even more fun! http://uk.messenger.yahoo.com
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








