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

Reply via email to