[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] Optimizing XSLT iteration


Subject: Re: [xsl] Optimizing XSLT iteration
From: Abel Braaksma <abel.online@xxxxxxxxx>
Date: Mon, 08 Oct 2007 03:07:25 +0200

Michael Kay wrote:
I just tried Saxon parser after increasing the initial/max Java heap space to 512M and it worked with even a 74MB file, but took about 28 minutes to finish.

That does seem quite high, given that Saxon can do an identity transform on a file of that size in something close to 28 seconds. I wonder if there is some other problem in your code (are there parts you haven't shown us?). Is the performance linear with document size?

Just read your post Michael, and I was curious whether I could back this up. Taking the source as provided by Sujata, multiplying the <locus> elements and then multiplying the <trace> elements I had the following results:


800 kilobytes: approx. 1 second
16 megabytes: approx 6 seconds
90 megabytes: approx 33 seconds

I did not do real measuring, and my computer is at the same time running some long-term algorithm (takes days), so these approximations should in real life be considerably faster. I took the nested xsl:for-each loops as they were, without any optimizations at all.

So the new question is now: what is in the code that hasn't been shown?

Cheers,
-- Abel Braaksma


Current Thread