The compiling and parsing for both Saxon and VXQuery consume a large amount of the query time. Saxon definitely has improved their parsing efficiency and later query processing. Take a look at these numbers:
VXQuery compile time 700 to 1600ms (<1% of total query time) Saxon compile time 230 to 260ms (<3% of total query time) Using a profiler... VXQuery parsing time 335,000ms (43% of total query time) Saxon parsing time 17,500ms (88% of total query time) VXQuery remaining time (56% of total query time) Saxon remaining time (11% of total query time) Notice the huge difference in time dedicated to parsing for VXQuery. Also not the time not outlined as the rest of the query time. Most of that time for VXQuery is in the select expression (50% of total query time) while saxon has really no noticeable time spent on evaluating the select expression. Seeing the difference in parsing, I found these two articles about improving the XML Parser: http://www.ibm.com/developerworks/xml/library/x-perfap1/index.html http://www.ibm.com/developerworks/library/x-perfap2/ I think the section on reusing the parser would be a big help for us.
