This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

XSLT Processor Performance


I just made a clean test setup, and tried out my `typical' jobs with
XT, Saxon, OracleXSL and Xalan. I did not even consider the other
available processors, as they all appear to be noticeably incomplete
implementations. The results are mildly depressing. 

The jobs involved:

 1. do a `key()'-based sort and group of c.4000 people on gravestones
 2. do a big relational join between c 2500 gravestone records and SVG 
    records of them on a map
 3. convert the TEI Lite specification to XSL FO format


Xalan:  2m35.009s[5]  1m8.783s     FAIL [1]
XT:     FAIL [2]      0m25.723s    0m5.036s
Saxon:  1m33.958s     1m0.852s     0m6.686s
Oraxsl: FAIL [3]      KILLED [4]   0m11.384s

The biggest surprise is error [5] (see below), where xalan's
interpretation of keys simply gave the wrong result (it failed to
generate a lot of the results). The Oracle processor  is disappointing 
in its speed, and memory usage (I gave it 128Mbytes of Java memory,
and it still crawled/crashed), though Steve Muench has assured me that 
his own running of these tests give better results.

If anyone can explain the Xalan error when parsing the TEI Lite DTD,
I'd be interested to hear about it.

For a quick amusement, consider these first lines:

==> x-oraxsl.test <==
<?xml version = '1.0' encoding = 'UTF-8'?>

==> x-saxon.test <==
<?xml version="1.0" encoding="utf-8" ?>

==> x-xalan.test <==
<?xml version="1.0" encoding="ISO-8859-1"?>

and tell me what I should think.

MORAL: undoubtedly, use Saxon at present. 

You can reproduce my experiences by getting
http://users.ox.ac.uk/~rahtz/xsltest.zip and running the script
"Test". If (cringe) my .xsl scripts are at fault, do tell me.....

Sebastian Rahtz

Failures:
--------

[1]
file:/tmp/test/teixlite.dtd; Line 1171; Column 9
XSL Error: Could not parse teiu5.xml document!
XSLT: White space is required before the attribute default in the declaration of attribute "prev" for element "table".
Xalan: was not successful.


[2] file:/tmp/test/typeset.xsl:19: no such function: key

[3] java.lang.OutOfMemoryError
	at oracle.xml.parser.v2.XSLForEach.processAction(XSLForEach.java,
Compiled Code)

after 39 minutes


[4] killed by hand after 36 minutes


[5] Results are incorrect! Many of the records are lost.


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]