[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Performance comparisons of tree models
You are correct - our current implementation doesn't cache compiled XPaths, so that cost was included in the comparison. I suppose we'll want to begin doing that (caching, as we already do for XSLT). -Mike Sokolov On 09/12/2012 03:16 PM, Michael Kay wrote: > > I think JDOM 1.0 uses Jaxen as its native XPath implementation, so you > are comparing JDOM/Jaxen with TinyTree/Saxon, whereas we were > comparing JDOM/Saxon with TinyTree/Saxon. Part of the cost of the > JDOM/Saxon combination is the bridge from the JDOM model to our > internal model: we have to "wrap" JDOM to implement the interfaces our > engine works with. > > It's also possible that you were including the cost of expression > parsing and optimization, whereas we were only measuring execution. > For simple XPath expressions run against smallish documents the cost > of parsing may well dominate the evaluation cost. For the scenario > where simple XPath expressions are issued directly by a Java > application and the XML document is small, Saxon probably puts more > effort than is justified into compiling and optimizing the expression > before execution. > > Michael Kay > Saxonica > > > On 12/09/2012 19:51, Mike Sokolov wrote: >> >> >> On 09/12/2012 01:19 PM, Michael Kay wrote: >>> I have been doing some performance comparisons of different Java XML >>> tree models, as used by Saxon, and the results may be of general >>> interest: >>> >>> http://dev.saxonica.com/blog/mike/2012/09/index.html#000194 >>> >>> Of course, this is a measurement of one particular workload and the >>> results may not extrapolate to other workloads. >>> >>> Michael Kay >>> Saxonica >>> >> What a coincidence ... I have just this week been doing a performance >> comparison that is somewhat similar to that. >> >> I compared Saxon TinyTree with JDOM's XPath 1.0 implementation in a >> common use case for our platform: mapping XML documents to Java >> entity objects. I did find a substantial improvement using TinyTree, >> although nothing like the amount that you demonstrate. Our test >> involves running a large number of independent XPath expressions. >> These expressions are typically simple, involving one or two child >> steps and mostly no function calls. >> >> I saw a 30-40% improvement moving from Saxon to JDOM (so JDOM numbers >> about 1.5 on the scale in your blog post). >> >> I'm not sure why the numbers are at such a variance to those you >> report, but there are a number of differences between what we've done >> that could explain it: I used JDOM XPath with JDOM Documents; I guess >> it might be interesting to compare Saxon XPath. Also, the >> expressions we tested were extremely simple, and it seems likely that >> differences are less noticeable in that case. >> >> At any rate, the difference is significant enough that we will >> definitely be moving towards switching our data model to TinyTree. I >> expect to see additional gains beyond what I've measured due to >> lowered memory footprint, and we have not yet measured any impact on >> XSLT performance, which should also improve substantially based on >> what you report. >> >> -Mike Sokolov >> >> _______________________________________________________________________ >> >> XML-DEV is a publicly archived, unmoderated list hosted by OASIS >> to support XML implementation and development. To minimize >> spam in the archives, you must subscribe before posting. >> >> [Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/ >> Or unsubscribe: xml-dev-unsubscribe@lists.xml.org >> subscribe: xml-dev-subscribe@lists.xml.org >> List archive: http://lists.xml.org/archives/xml-dev/ >> List Guidelines: http://www.oasis-open.org/maillists/guidelines.php >> >> > > > _______________________________________________________________________ > > XML-DEV is a publicly archived, unmoderated list hosted by OASIS > to support XML implementation and development. To minimize > spam in the archives, you must subscribe before posting. > > [Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/ > Or unsubscribe: xml-dev-unsubscribe@lists.xml.org > subscribe: xml-dev-subscribe@lists.xml.org > List archive: http://lists.xml.org/archives/xml-dev/ > List Guidelines: http://www.oasis-open.org/maillists/guidelines.php >
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] |
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|