From: James F. <jam...@ex...> - 2010-08-02 17:04:10
|
In org.exist.storage.btree.Value all occurrences of the following ----------------------------------------------- if (b1 == b2){ continue; else { ----------------------------------------------- with ----------------------------------------------- if (b1 != b2){ ----------------------------------------------- e.g. I got rid of continue statement and changed operator == to != I have been using a simple but intensive query that walks the shakespeare data declare function local:treewalker ($html) { let $children := $html/* return if(empty($children)) then () else for $c in $children return ( element {name($c)}{ $c/@*, $c/text(), local:treewalker($c) }) }; <test>{local:treewalker(//PLAY)}</test> which resulted in ------ local:treewalker 100 runs ~ 340s w/ optimization ------ local:treewalker 100 ~234s I have also done a number of other kinds of queries which confirms between a 15 - 30% increase in query performance in certain scenarios which makes me a bit dubious ... all the caveats apply when doing this kind of adhoc benchmarking but was wondering if someone else wants to check these things on their own trunk checkout. James Fuller |