[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: Writing to file vs. storing in a variable

Subject: RE: Writing to file vs. storing in a variable
From: mjyoungblut@xxxxxxx
Date: Wed, 24 Oct 2001 11:51:26 -0500
serialization vs file writing
In both of my test cases, I write out the file as an end result.  Here are
my steps again:
Approach 1(faster, more memory)
1. Compare the two files and store the results in a variable
2. Use the variable to create a header in output File A
3. Write the contents of the variable to output File A

Approach 2(slower, less memory)
1. Compare the two files, writing the results immediately to File A
2. Read up File A(much smaller than the originals), writing the header to
File B
3. Copy the contents of  File A to File B

In my two tests(using Instant Saxon), I run the first approach completely,
and I run only the first step of the second approach.

One thing that I didn't mention in my first email was that as part of step
2 in Approach 1, I get rid of all empty elements and all ancestors of empty
elements.  In my Approach 2, I would do this in step 2.  Thus, the output
files after step 1 in both approaches will be different in size(Approach 1
is smaller, but not dramatically.  Approach 2 results in about 3% of the
original files).

Here is what I am seeing in my mind:
- Both files use ~ same memory to read up and parse the files
- Transform occurs.  Approach 1 saves as a variable, so the memory
difference occurs here.  Approach 2 writes directly to a file.
- Approach 1 finally writes to a file with less data than Approach 2.

I don't see that extra data as a result of Approach 2, step 1 making the
time consumption being 50% longer.

Any thoughts on this?

Thanks,
     Matt

> The problem is that the first part of the second approach
> takes about 50%
> LONGER than all of the steps in the first approach.  I have
> tried using
> Saxon and Xalan, and they are pretty equivalent(other than
> Xalan being a
> big memory hog).
>
> Can anybody explain to me why this would be the case?
>
Serialization and parsing are expensive. Instead of using a file as the
intermediate form between two transformations, connect the two
transformations end-to-end as a SAX pipeline, so the nodes produced by the
first are fed straight into the second. Look at the SAXTransformerFactory
class in JAXP.

Mike Kay


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.