Re: Performance tuning
I have also some good news! I have just finished my first draft of a decision tree implementation that should be able to not only take care of discrete but also continuous values. The continuous values example will be implemented/tested in the next few days with a nice indexed trie implementation.
As a short background on how this should work in the end.
The conditions you define will use known branches where possible. So when you have for example a condition like
Direction.isInbound().and(SimplePath.matches("/about")) then the overall performance will be improved in the manner, that the
Direction.isInbound() will be evaluated only once. The basic work behind the decision tree building and resolving is already done, a first integration into rewrite will follow as soon as I get the trie stuff done.
What do you think? Would it be nice to have worst case runtime performance of O(k) and best case of O(1) where k is the distinct amount of conjunctive connected conditions?