|
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 |