HI Stephs, We do a have some initial work do optimizing selectors for when many selectors are being used against the same destination. All the selector evaluation logic is in the org.apache.activemq.filter package.
We did some initial experiments with a MultiExpressionEvaluator which allowed caching results of common expressions in multiple expression trees. ActiveMQ we using a different threading model at the time that was created.. It needs to get update so that it works with the simpler threading model we have now. Basically before we evaluate a message against a set of selectors, a MessageEvaluationContext is created so that results of the expression evaluations can be cached there. After all the selectors are evaluated, the context is cleared. So... we need more help in this area to make our selector more efficient.. Are you volunteering? On 7/7/06, stephans <[EMAIL PROTECTED]> wrote:
Hi folks, i am currently writing my master thesis on improving filter performance in publish/subscribe environments. Can anyone of you outline how filtering is done in activemq, i.e. if you are using the counting algorithm or more advanced approaches like building a matching tree from subscriptions like mentioned in the paper by aguilera/strom or something like that? I would appreciate any answers from you. Greetings, Stephs -- View this message in context: http://www.nabble.com/Message-Filtering-tf1905917.html#a5215793 Sent from the ActiveMQ - Dev forum at Nabble.com.
-- Regards, Hiram Blog: http://hiramchirino.com
