1

I found a post, please see the IBM formum post, where it says creating pre-compiled java classes (Translets) using Apache Xalan utility transforms XML files faster than just using XSLT.

I have been XSLT 2.0 but it is not working because Xalan only supports XSLT 1.0. The Saxon processor supports XSLT 2.0 but there is no utility to generate Translets.

Any suggestions?

Abel
  • 56,041
  • 24
  • 146
  • 247
Shailesh
  • 405
  • 1
  • 5
  • 18

2 Answers2

3

The version of Xalan that compiles to bytecode translets is generally referred to as XSLTC. We did some recent performance measurements of Saxon-EE performance against XSLTC, which we reported at XML London 2014 (our paper is available at http://www.saxonica.com/papers/xmllondon-2014mhk.pdf) and the measurements we made are on Github at https://github.com/Saxonica/XT-Speedo. For the collection of tests we ran, Saxon-EE came out ahead by a whisker: as a crude summary, XSLTC ran a little faster on most tests, and Saxon-EE ran a lot faster on a few tests, so the results you get will depend very much on your workload. But the differences are a few percentage points, so it's very unlikely to really affect your ability to meet your project requirements. The productivity benefits of XSLT 2.0 over XSLT 1.0 are much more important for most projects than a 5% performance difference.

Michael Kay
  • 156,231
  • 11
  • 92
  • 164
1

I think the Enterprise edition of Saxon 9.5 provides compilation to byte code, see the feature matrix http://www.saxonica.com/feature-matrix.html which says about that feature: "Available for both Java and .NET platforms, typically giving a 25% performance boost.".

As for IBM, it also has an XSLT 2.0 implementation available as part of Websphere, see http://www-03.ibm.com/software/products/en/xmlfp/, but I don't know whether it provides compilation of XSLT to Java classes or to Java byte code.

Martin Honnen
  • 160,499
  • 6
  • 90
  • 110