Harsh Jetly wrote:
I have been evaluating the rule engine (ie Drools 4.0.4). I have created an
application which has about 20 rules . I insert about 500 arraylists into
the working memory and each arraylist contains about 4 objects. The rule
engine picks the object that is the best match from the arraylist and
stores it .
This processing takes about 0.953 secs .
Now this very same scenario I have implemented in using java code (if
..else)...it takes about 0.016secs .
I was expecting the rule engine to give a better performance. Considering
the use of alpha node caching and other factors of the rete algorithm.
This is how one of the rules look in the rule file :
rule "P1 110"
salience 1
activation-group "1"
when
PriorityType( pricetype == "10,20,30,40,110" )
list :ArrayList( )
t:TlbObjectAttributeData( lngAttrTypeId == 110 ) from list
then
result.add(t);
end
you don't get any indexing for "from", it's just a pure iteration and
filtration system - as it's a serious of nodes emulating this, it will
be slower than java bytecode.
Mark
Am I doing something wrong or this application is not harnessing the pluses
of the rule engine .
If so can you please tell me which kind of application should I build to
highlight the performance of a rule engine .
Appreciate it
Regards
Harsh Jetly
SOA
Center of Excellence
______________________________________________________________________
_______________________________________________
rules-users mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/rules-users
_______________________________________________
rules-users mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/rules-users