[rules-users] Java code Vs Drools

Mark Proctor mproctor at codehaus.org
Wed Aug 13 05:19:24 EDT 2008


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
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>   




More information about the rules-users mailing list