Subject: RE: [xsl] why exsl:node-set() is so slow From: "Michael Kay" <mhk@xxxxxxxxx> Date: Fri, 16 Jan 2004 20:22:05 -0000 |
I'm certainly a little surprised by this result. The transformations are fairly simple, so I guess that if it's taking 150 seconds then the data files must be quite large, which is presumably why they are not included? I expect it boils down to a memory issue: temporary trees, with most implementations, are going to be held in memory, while final result trees are not. Michael Kay > -----Original Message----- > From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx > [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of > David Tolpin > Sent: 16 January 2004 17:51 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] why exsl:node-set() is so slow > > > Hi, > > I wrote a chain of 4 stylesheets; the chain takes an XML file > an produces another one through 4 transformations. It is > reasonaly fast, with an XSLT processor invoked from the > command-line for each step (a shell script aids in it). > > Recently, I discovered exsl:node-set(), the function that > takes the result of one transformation and converts it to a > node set, so that the transformations can be chained within > one invocation of the transformation engine, not stepwise. > > I have gladly re-implemented the chain with use > exsl:node-set() in hope that time spent on the slow start-up > of Java Machine will be saved. However, all XSLT engines I > have tested have given me considerable lower performance > than with four invocation, 3 to 5 times slower. What's wrong > with exsl:node-set()? > > SAXON, for example, takes 150 seconds instead of apprx 50 to > process the same data with calls to exsl:node-set() instead > of command-line invocations of the same processor for each of > the four steps. jd.xslt is even slower. > > The only notorious exception is xsltrpoc. It is much faster > with exsl:node-set() than without. The only drawback is that > xsltproc produces absolutely wrong and unusable result when > exsl:node-set() is employed. > > What's wrong with exsl:node-set()? > > David Tolpin > PS: the stylesheets are at > http://ftp.davidashen.net/incelim/rng-incelim-> 1.0.zip > > > XSL-List info and archive: > http://www.mulberrytech.com/xsl/xsl-list > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Re: why exsl:node-set() is so, Dimitre Novatchev | Thread | Re: [xsl] why exsl:node-set() is so, David Tolpin |
RE: [xsl] The real harm is in funct, Joshua Allen | Date | RE: [xsl] The real harm is in funct, Joshua Allen |
Month |