This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
XSLT Processor Performance
- To: xsl-list at mulberrytech dot com
- Subject: XSLT Processor Performance
- From: Sebastian Rahtz <sebastian dot rahtz at computing-services dot oxford dot ac dot uk>
- Date: Mon, 15 May 2000 13:20:11 +0100 (BST)
- cc: Scott_Boag at lotus dot com, lou dot burnard at computing-services dot oxford dot ac dot uk
- References: <OFB2FE092C.3AB01F33-ON852568DA.0007B366@lotus.com>
- Reply-To: xsl-list at mulberrytech dot com
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