[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  
best.

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  
interesting:

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:// 
www.pushtotest.com/Downloads/kits/soakit.html

Hope this helps.

-Frank


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