[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] 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
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|