The SAX content handler takes the parser output to build an XML document
for VXQuery to process. The current implementation creates each node as it
traverses the tree. When a node is created that has children. The child
nodes are copied into the new node. An alternative would be to delay all
these copies until the whole document node is known and then write out the
information all at once. Below are some stats about the time spent in the
parser. The percentages are based on a query time of 140s.

How important is rewriting the parser to create a single copy of the final
document node? Should I get numbers on how many times we actually make a
copy? What is the priority on this work?

Overview of Time (q00 and q01)
73 to 78% parsing input
11% select expression
3 to 4% child expressions in for loop


Hot spots in parsing input (percentages of parsing time.)
--- q00 ---
27% write int
13% write bytes
8% BinarySearchAlgorithm (excluding compare the compare below)
6% compare (used by binary search)

--- q01 ---
26% write int
14% write bytes
10% BinarySearchAlgorithm (excluding compare the compare below)
8% compare (used by binary search)

Reply via email to