[xquery-talk] performance figures for xquery processors

Frank Cohen fcohen at rainingdata.com
Tue Feb 7 10:18:35 PST 2006

Hi Manava: Great questions. Evaluating XQuery performance greatly  
depends on the use case and what technology you apply against it. For  
instance, parsing a complex document that uses the automotive  
industry Business Object Document (BOD) schema will highlight  
performance of some XQuery implementations while parsing simple RSS  
feeds will show other products in a favorable light.

My preference is to test XQuery implementations against three use cases:

1) Parsing big and complex XML documents. The documents are typically  
10K to 5 Mbytes. For instance, an HL7 document or BOD. In this case I  
recommend using an XML binding compiler like JAXB that can address  
elements directly.

2) Parsing XML documents that contain many elements that are not  
nested deeper than 2-3 elements deep. Think of a stream of data where  
skipping unwanted elements yields a performance advantage. In this  
case a Streaming XML (StAX) approach works best.

3) Parsing medium sized documents with a little bit of complexity.  
For example, a purchase order from a manufacturer where you need to  
evaluate every element. In this case an XML parser using DOM may be  

Each of the XQuery implementations uses a different underlying  
approach to XML parsing. They all use different mechanisms to access  
XML data from a database (some come with a native XML persistence  
engine, some map to JDBC sources.) This variety means there is a good  
chance that you will find an XQuery implementation that will meet  
your needs.

Here are some performance and scalability resources that you may find  

FastSOA architecture for solving SOA's scalability and performance  
problems. Details are at http://www.xquerynow.com/library/fastsoa

TestMaker is my open-source framework and utility for load testing.  
Details are at: http://www.pushtotest.com/Downloads/features.html

SOA Performance and Scalability Kit is a free kit to evaluate XML- 
based SOA in your own environment. Details are at: http:// 

Hope this helps.


On Feb 6, 2006, at 3:52 PM, <manavaputra at yahoo.com>  
<manavaputra at yahoo.com> wrote:

> Hi,
> Wonder, if any one has done performance testing on
> xquery processors that have java API and has some data
> to share with. 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.
> 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.
> I would like any other insights into saxon's
> xpath/xquery peroformance either by itself or in
> comparison with other xquery processors.
> Thanks a lot
> Manava
> __________________________________________________
> Do You Yahoo!?
> Tired of spam?  Yahoo! Mail has the best spam protection around
> http://mail.yahoo.com
> _______________________________________________
> talk at xquery.com
> http://xquery.com/mailman/listinfo/talk

More information about the talk mailing list