Re: [xslt] key() in match pattern of xsl:key

Joel E. Denny wrote:

I've never used Saxon myself. I've read that libxslt is one of (or the) fastest XSLT 1.0 processor around. Maybe this is one of the reasons?

With the respect to Daniel and its work, my experience is that libxslt is very fast when XSLT code doesn't contain "complex computations". This is case for the most of common stylesheets that are around. But I have several stylesheets that do various cases of a very complex grouping and Saxon is faster by magnitude then libxslt here. But for common transformations libxslt is faster because there is no JVM overhead.

In general, MSXML 4.0 is usually the fastest, but it runs only on Windows. Recently MS released MSXML 6.0 and there could be further speed optimizations.

Anyway if the performance is your main objective, you should benchmark several XSLT implementations and then choose your favorite implementation.

You can also try to optimize your XSLT code, xsltproc offers very useful --profile option to do this.

Back to your question, as keys are computed only once for the source document, there shouldn't be big performance penalty if you just remove key() from other keys' definitions.


  Jirka Kosek     e-mail: jirka kosek cz
  Profesionální školení a poradenství v oblasti technologií XML.
     Podívejte se na náš nově spuštěný web
       Podrobný přehled školení
                   Nejbližší termíny školení:
     ** XSLT 13.-16.3.2006 ** XML schémata 24.-26.4.2006 **
       ** DocBook 15.-17.5.2006 ** XSL-FO 12.-13.6.2006 **

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]