[xquery-talk] performance figures for xquery processors
yuin at bb.din.or.jp
Wed Feb 8 01:19:45 PST 2006
<manavaputra at yahoo.com> wrote:
> JAXP xpath in java 4). Here is what i found. Saxon
> documents take a longer to build and load and consume
> a more of the java heap size, but their xpath
> expression evaluations are much faster. Also the
> memory it consumes for the evaluation seems to be less
> compared to Java5 xpath. For the same document and
> same xpath expressions that lead to a large number of
> results, the java5 xpath expression evaluation was
> eating up all the heap while saxon xquery processor
> yielded the results. Since java5 does not support
> xquery, i could not evaluate FLWOR expressions and
> other xquery specific stuff.
I think this is because Saxon does iterative execution.
(While iteration breaks at fs:distict-doc-order, and so on.)
Iterative execution requires more memory spaces in total,
but the required memory size for intermediate result is
Iterative execution space efficient, but time inefficient
(It is actually nested-loop).
Last year, I was tried to benchmark several (free)
XQuery processors using XMark.
As the result, Qizx/open was faster than Saxon
as Liam pointed in this thread, but..
Qizx's comformance level to XQuery formal semantics is
lower than Saxon's and several core bugs, even for
axis evaluation (following, preceding..), are left.
| let $tree := (
| return $tree/aaa/following::node()
| qizx 1.0 yields
| - ccc
| - <bbb/>
On the other hand, Qizx's in-memory XML representation
is primitive tables (little bit like Xalan DTM) and
space effecient than Saxon's tiny object tree.
Anyway, conformance level to formal semantics effects to
the performance seriously, like function-call semantics.
So, conformance level/XQTS test result should be argued
when the performance is discussed, I think.
Nara Institute of Science and Technology (NAIST)
Makoto YUI <yuin405 AT gmail.com>
More information about the talk