BURGHARD �ric wrote:
Daniel Fagerstrom wrote:

If you want to help making JXTG faster you need to submit more
information. We need examples that reproduce this behaviour with the
JXTG template and the corresponding XSLT. We also need to know exactly
what version of 2.2 you used. How did you measure preformance? Profiling
info is rather helpful
http://marc.theaimsgroup.com/?t=111625859100003&r=1&w=2.

I apologize.

No problem, these performance issues is always a little bit touchy ;)

I just wanted to emphasize the fact that a partially automated
transformation produce a code that seems to be more efficient than its
original. nothing more, but i would really like to give you something more
in order to improve jxtg. I just made some quick & dirty comparison based
on access info (the log category). I use apparently the old jxtg with
macros so this is perhaps the reason.

The work Leszek and I have done is mainly a refactoring that probably shouldn't affect performance in any direction, except for the small bug that I described in my previous post.

JXTG compiles the script to a sequence of SAX events and also compiles
the expressions. So during execution nothing complicated is supposed to
happen, except for what is done internally in the expressions. So there
is really no reason that it should be any slower than saxon8. But of
course there can be small things in specific instructions or in the
execution engine that slows things down. When one have got the basic
algoritms right (which I think we have), optimization is much about
small details.

Have you some benchmarks on the xpath evaluator ? We use quite a lot of
xpath processing on a several ko dom (given as a param from flow). That's
perhaps a good reason why saxon8 handle this quicker (expressions are
indeed the same between the stylesheets).

That sounds like a reasonable explanation. There can AFAIU be quite large performance differences between different XPath evaluators. And as being efficient on DOM not is the main focus for JXTG, it is probably far from the most performant. While Saxon8 probably is one of the better. Profiling data would still be interesting for seeing that this really is the problem.

IIRC Saxon's XPath processor can be used standalone and there is also Jaxen. If anyone have the itch it wouldn't be that complicated to write a small wrapper so that the XPath processor implements o.a.c.components.expression.Expression, and then it could be plugged in into JXTG.

OTH, if one is interested in processing DOM, XSLT or XQuery are probably the best chocices.

/Daniel

Reply via email to