Subject: Re: [xsl] speed difference between IE and Firefox during transform? From: António Mota <amsmota@xxxxxxxxx> Date: Tue, 1 Mar 2005 19:52:59 +0000 |
Yeah, in my situation using keys was the major improvement i've made. On Tue, 01 Mar 2005 20:06:15 +0100, Joris Gillis <roac@xxxxxxxxxx> wrote: > Tempore 19:42:15, die 03/01/2005 AD, hinc in > xsl-list@xxxxxxxxxxxxxxxxxxxxxx scripsit Sean Whalen > <seanwhalen@xxxxxxxxxxx>: > > > The stylesheet, at the point of the slowness, has 2 node-set > > variables, and it is building a 3rd variable by selecting all the > > members of the first set that have an attribute that is found in some > > member of the second set. That block of code looks a little like this: > > > > <xsl:variable name = "revealing" select = "$field[ > > @isBomb != -1 and @isRevealed = 0 and > > ((concat(@h -1 ,'/', @v ) = $zeros/@sqID) or (concat(@h > > +1 ,'/', @v ) = $zeros/@sqID) > > )] " /> > > Hi, > > Maybe you could try using keys, they *might* speed it up. > > The predicate could then be reduced to this: > <xsl:variable name = "revealing" select = "$field[ > @isBomb != -1 and @isRevealed = 0 and > $zeros/@sqID=key('zero',concat(@h ,'/', @v ))/@sqID] " /> > > while the key would be defined in a way like this: > > <xsl:key name="zero" match="square" use="concat(@h -1 ,'/', @v )"/> > <xsl:key name="zero" match="square" use="concat(@h +1 ,'/', @v )"/> > <xsl:key name="zero" match="square" use="concat(@h -1 ,'/', @v -1)"/> > ... > > regards, > -- > Joris Gillis (http://www.ticalc.org/cgi-bin/acct-view.cgi?userid=38041) > "Et ipsa scientia potestas est" - Francis Bacon , Meditationes sacrae
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] speed difference between , Joris Gillis | Thread | RE: [xsl] speed difference between , Michael Kay |
[xsl] is recursion the best way to , anil jacob | Date | Re: [xsl] speed difference between , Joris Gillis |
Month |