[xquery-talk] General comparisons of speed of xquery vs. xslt

Daniela Florescu danielaf at bea.com
Thu Apr 29 00:59:11 PDT 2004


In XQuery the natural technique is always to pull, which means you end 
up doing more tree construction and copying than is necessary. The 
optimizer has to do a lot of work to prevent this.

!!?? I am really surprised by your statement Michael.

I see no relationship between streaming in pull and doing more element 
constructors.

In fact that's exactly the opposite in our query engine. That's 
precisely because
we stream in pull that we are able to do full lazy evaluation (i.e. 
never evaluate more
intermediate results then strictly necessary). I have  hard time 
understanding how
exactly one can implement lazy evaluation (which is fundamental for 
good performance
for XQuery) while streaming in push. I don't say it is impossible, but 
it seems to me  much harder,
and would require a much more complicated (and expensive) scheduling 
algorithm.

Moreover, I don't think in general streaming in pull has anything to do 
with extra-copying.
It all depends how is the data represented and how are node 
constructors evaluated.
I can tell you that in our engine data copying of any kind is extremly 
rare and we
do stream in pull (in a similar way to the iterator model of 
traditional relational engines).

Best regards,
Dana



  Apr 28, 2004, at 12:36 PM, Michael Kay wrote:

> <mime-attachment>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: text/enriched
Size: 1439 bytes
Desc: not available
Url : http://xquery.com/pipermail/talk/attachments/20040428/1ba1e2ae/attachment.bin


More information about the talk mailing list