[rules-users] Drools 4 performs slower then Drools 3 - Help on .drl file adaptation

Maxim Veksler maxim.veksler at gmail.com
Wed Nov 19 10:36:15 EST 2008


Hello everyone,


Please allow me to briefly describe how our system works:

We use drools as an efficient matching layers - I have X rules, in the RHS
of each rule I have a mark for each rule to signal that it has passed in the
current context (There are by definition more then 1 contexts). After the
first fireAllRules() has finished, and I have the data structure that allows
me to query what rules have passed for each context I assert a "Marker"
object, that allows Drools to continue filtering only for these contexts
that I decide as valid to match attempts.

The end result, is that I have 2 fireAllRules called with some java code in
between them.


In drools3 for 3 contexts I got the following resutls :

== Drools Section (Generic Call) : With default context settings, no
HotSpot.
RESULT::::::::    avg: 33.9023(ms) for 1555 calls

Now in drools4 I'm getting the following:

== Drools Section (Generic Call) : With default context settings, no HotSpot
- Drools 4
RESULT::::::::    avg: 37.4356(ms) for 1467 calls



As I increase the context's number I'm getting larger difference in results
time.
Please note that HotSpot is disabled just for the test, to not JIT
interference.

I've disabled all evals in the drl files, to all is left is pure Drools
syntax and yet It seems that the system works slower.

Please suggest what else I should be doing to optimize the drl files to work
efficiently with Drools 4 engine.


Thank you,
Maxim.

-- 
Cheers,
Maxim Veksler

"Free as in Freedom" - Do u GNU ?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20081119/13d23001/attachment.html 


More information about the rules-users mailing list