Migrated from NovaTec Jira. Originalticket: INSPECTIT-585
Since the storage is written for Java 7, as soon as we switch to it on the CMR, I would propose that fork and join technique of Java 7 should be used when we query the indexing tree. The advantage should be that the separate branches that need to be queried in the same query, can be processed in parallel. This would in general brings us the faster query.
However, there should be a selection of situations where technique should be used. It should not be used always, since overhead for using it can be bigger than what we would get with parallelism:
More about Fork & Join in JDK 7: http://download.oracle.com/javase/tutorial/essential/concurrency/forkjoin.html
Pseudo-Code
As agreed with I prepared a JMH test for bench-marking the current way of querying the indexing tree. Then we can check if the fork/join give us any advantage at all.
Here are the current results:
Picture for better results overview..
Is the ticket ready for integration? Can you request integration on Jira if this is the case.. It should always be done to inform the other that somebody should have a look on the Pull Request.. Thanks..
Check comments on Reviewable, if there is any question please ask.. Good work
Just a few small comments..