xsl-list
[Top] [All Lists]

Re: speed difference between IE and Firefox during transform?

2005-03-01 12:52:59
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(_at_)pandora(_dot_)be> 
wrote:
Tempore 19:42:15, die 03/01/2005 AD, hinc in
xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com scripsit Sean Whalen
<seanwhalen(_at_)comcast(_dot_)net>:

    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

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--