Re: [xsl] Transforming large XML docs in small amounts of memory

Subject: Re: [xsl] Transforming large XML docs in small amounts of memory
From: Ronan Klyne <ronan.klyne@xxxxxxxxxxx>
Date: Wed, 02 May 2007 09:30:13 +0100
Michael Kay wrote:
>> It's purely XSLT 1.0, using Saxon (on Linux and Windows, if 
>> that matters...), although suggestions to change this would 
>> not be shunned.
> 
> Just as an experiment, try it on Saxon 8.x rather than Saxon 6.5. It doesn't
> always make any difference, but on some occasions I've seen it make a
> dramatic improvement.
In this case, no difference. Worth a shot though...

>> I think that transforming 150Mb of data in 400Mb 
>> of RAM would be a sensible target (is this sensible?)
> 
> That's ambitious. To achieve that, you're going to have to do something that
> condenses the input document before transformation.

What would you say was a reasonable target? I expect it will be
dependent on many factors.

>> I'm not sure how to tell what proportion of the memory is 
>> used for the input DOM, output DOM, etc...
> 
> If you really mean "DOM", then start by not using a DOM, and using a Saxon
> TinyTree instead. (Saxon doesn't use any memory for the final result tree -
> it's normally piped straight into the serializer).

What I meant was 'in-memory representation of the source document'. I
incorrectly assumed that this was some kind of DOM. A little reading on
TinyTree shows that it is the default for Saxon, and thus is what is in use.

-- 
Ronan Klyne
Business Collaborator Developer
Tel: +44 (0)870 163 2555
ronan.klyne@xxxxxxxxxxx
www.groupbc.com

Current Thread