[rules-users] Java code Vs Drools

Harsh Jetly Harsh.Jetly at lntinfotech.com
Wed Aug 13 05:02:43 EDT 2008


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


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



______________________________________________________________________



More information about the rules-users mailing list