[xquery-talk] performance figures for xquery processors

Martin Probst martin at x-hive.com
Tue Feb 7 12:39:43 PST 2006


Hi,

> Wonder, if any one has done performance testing on
> xquery processors that have java API and has some data
> to share with.

I only know of one benchmark, called XMark, but it doesn't focus on Java
processors, and is IMHO not all too significant - it's basically
modelling an ERP system in XML by more or less trivially translating
tables and tuples into XML elements, which is probably not an all too
common use case for XQuery.

>  I have recently picked saxon for xquery
> because of its reputation with XSLT and also being
> used for conformance testing in the xquery
> standardisation process. I am not sure if there is a
> good competitor that i could evaluate and compare. If
> there is one, please do recommend it to me. 

My company, X-Hive, produces an advanced XML database. We're not really
competing to Saxon, as Saxon is rather an XQuery processor than an XML
database, but you might want to try it anyways. You can get an
evaluation version at http://www.x-hive.com/products/db

X-Hive/DB is also pretty conformant with the W3C specification, you can
find results of the tests at our homepage and the W3C conformance
homepage.

> What i have done on my side are a couple of simple
> tests on saxon document loading and xpath expression
> evaluation in saxon versus the Xpath that is built
> into Java5(I believe it is the same as what used to
> 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. 

Saxon is a pure XQuery processor, as opposed to an XQuery-enabled XML
database. This is a major difference, as with a persistent XML database
you can get rid of the parsing and memory problems and handle documents
practically unlimited in size, plus you get indexes, persistence and
all. However, if a database is useful to you depends on your use case.
There is also a row of other XQuery-enabled databases, see
http://www.rpbourret.com/xml/XMLDatabaseProds.htm

Martin



More information about the talk mailing list