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

Reply via email to