[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