Hi there,

first of all I would like to mention I am not a performance freak. I think the conformance and stability is more important than some percent of performance.

I had a look at the 2003 "Sarvega XSLT Benchmark study". There is one testcase where Xalan-C (1.5, but also 1.7) reaches only 13% of the average throughput of all other tested processors (xalanj, libxslt, saxon, resin, xsltc, xt, msxml, jd). A really bad outliner. The testcase is a transformation of one docbook sample document to html using the standard docbook stylesheets.

I glimpsed into the code and do some performance measurements on my own. Xalan-C will be up to 5times faster for this docbook-transformation, if I disable the strip-whitespace-processing. I have done this by modifying the function StylesheetRoot::shouldStripSourceNode to return false all the time (a really radical method and definitly results in wrong results ;^). The reason for this performance leak is - in my opinion - the handling of the element names given in the stylesheets "xsl:preserve-space", "xsl:strip-space". They will be evaluated and scored as full XPaths which is an expensive operation.

Maybe I am wrong with my analysis, but if I am right, I think one should mention this behaviour within the section "What can I do to speed up transformations?" of the Xalan-C-FAQ.

I do not use any xml:space, xsl:preserve-space, and xsl:strip-space within my stylesheets and documents. Therefore I have no problem with this bottleneck, but maybe some other people do this.

HolgeR
--
holger floerke                      d  o  c  t  r  o  n  i  c
email [EMAIL PROTECTED]          information publishing + retrieval
phone +49 2222 9292 90              http://www.doctronic.de

Reply via email to