Subject: Re: [xsl] Re:Re: How to improve the performance where a key element used in multiple documents's From: Jeni Tennison <mail@xxxxxxxxxxxxxxxx> Date: Mon, 25 Jun 2001 09:17:01 +0100 |
Hi Sun-fu, > You specially suggest me to consider using predicates such as: > > <xsl:variable name="MSource" select="$originalDoc/z:row"/> > <xsl:apply-templates select="$MSource[@OrderNo = $thisNo]" > mode="transDtl" /> > > instead of using key element, > > <xsl:for-each select="$originalDoc"> > <xsl:apply-templates select="key('TransNo',$thisNo)" > mode="transDtl"/> > </xsl:for-each> > > As matter of fact I have tried using predicates, however its > performance is much slower compared with that of using key table. So > I decide keep on using key function. Cool - you're absolutely right to test whether any sweeping statements about efficiency has a real effect in your particular case. I think the reason that you're getting such a marked increase in speed with the key is because in the code as you've given above, you're using it in a very worthwhile way. I was specifically talking about using a key *where the key was only used once on a particular document*. The case that I discussed was where you were using a key on an RTF that had just been created - you were creating several new RTFs (one for each OrderNo) and then using a key on each of them just once. In the case that you show above, on the other hand, you're using the key on $originalDoc. Here, the key is also used on $originalDoc prior to that, when you generate the $TransNoheading variable (set of unique z:row elements). And the key is also used multiple times within the xsl:for-each that's iterating over the OrderNos. So there, you're using a key on the same document *multiple* times - it's not surprising you get a marked increase in speed. Cheers, Jeni --- Jeni Tennison http://www.jenitennison.com/ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Re:Re: How to improve the per, Yang | Thread | [xsl] Problem with <xsl:import> and, Vijay Rao |
RE: [xsl] string replacement, Michael Kay | Date | Re: [xsl] Problem with <xsl:import>, Jeni Tennison |
Month |