The benchmarks were performed on a Linux box, Athlon 750, 128 Mb RAM. The results are given in seconds. They were measured with the Unix time command. The user time is reported unless otherwise specified.
These are old preliminary benchmarks, and results should be taken with much care. New benchmarks will be posted soon; in the meanwhile you can find them at the end of this paper.
We performed benchmarks between CDuce and a fast XSLT processor (the xsltproc program from Gnome libxslt library).
The example is intended to evaluate run-time efficiency. Even though the transformation is quite complex, type-checking time for CDuce is negligible. A few remarks:
- type-based optimization brings almost no gain (only tag checks can be avoided);
- the CDuce program must validate its input document (the XSLT stylesheet can operate on any document);
- the XSLT processor is written in C; the CDuce interpreter is written in Objective Caml.
Taking these remarks into account, the results below are more than encouraging.
The table above displays CPU user time (parsing + transformation) . The table below, instead, displays total wall-clock time (including system time). The results indicate that CDuce behave much better when the XML document does'nt fit in memory (and swapping occurs).
This example was taken from XDuce distribution. The transformation is simple; the example is intended to evaluate run-time efficiency.
The * corresponds to checks stopped after ten minutes.
This example was taken from XDuce distribution and simplified (removed support for tables). The transformation is more complex; the example is intended to evaluate type-checking time.