Re: [xml-dev] RE: Incremental transformations with Xalan and performance issues?

From
Daniela Florescu <>
To
Michael Kay <>
Date
2004-12-07T07:08:33Z
ID
<>
Thread
Re: [xml-dev] RE: Incremental transformations with Xalan and performance issues?
• Daniela Florescu, Chris Hillery, Donald Kossmann, Paul Lucas, Fabio 
Riccardi, Till Westmann, Michael J. Carey, Arvind Sundararajan:
The BEA streaming XQuery processor.
VLDB Journal Volume 13, Number 3, September 2004

 
http://www.vldb.org/conf/2003/papers/S30P01.pdf
 
 An interesting paper.

In the context of streaming, most of the techniques described are not 
very different from those used in the better XSLT processors. One big 
difference is that XSLT 1.0 is typically implemented using a dual 
push/pull model:


Michael, you read a two years old version of the paper, the one I was 
pointing to is the journal
(i.e. longer) and newer version of it. The architectural main idea 
didn't change, but the numbers
are better (like any other new processor, the performance improves with 
10% per day, so it depends
what day of the week do you measure ...:-)

Our major goals while designing this were:
- build a full implementation for XQuery (I really mean 100%), not only 
a "convenient" subset
- use streaming
- use lazy evaluation

As you point out the interesting discussion is between pull and push 
streaming. There are multiple
reasons we used pull, the main important ones being:
- we are database people, so we grew up with the pull, iterator based 
evaluation of the relational
database engines and
- it was harder to make push and lazy evaluation work together

There is a piece of good work that compares push and pull XML 
processing, I am sure you'll enjoy it.


"The Joy of SAX"  Leonidas Fegaras (University of Texas at Arlington, 
USA)

Best regards,
Dana

P.S. It looks like I am doing more publicity now to BEA, when I'm not 
there anymore:-)