[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