This particular example will benefit from node sharing for the usage attribute and indexing of the id attribute on Product. If you are seeing something different, please post your results.

On Sun, Jul 19, 2009 at 9:15 AM, nesta <nesta.fdb@163.com> wrote:

Hi,

I am a newbie in drools. There are a lot of simple rules in a scenario.
For example
rule 1
   when
       Product( id ==1, usage == 1)
       $decision : Decision()
   then
        $decision.setValue(1);
end

rule 2
when Product( id ==2, usage == 1)
 $decision : Decision()
rule 3
when Product( id ==3, usage == 1)
 $decision : Decision()
rule 4
when Product( id ==4, usage == 1)
 $decision : Decision()
rule 5
when Product( id ==5, usage == 1)
 $decision : Decision()
......

I have a Product fact whose id = 5 and usage = 1, in my first thinking, only
rule 5 is matched, there should be not much more different between 1 rule
and a lot of rules in runtime.

But the result shows that they are different. More rules will cost more
time. If there are 1 thousand rules, some Node and Sink will execute 1
thousand times.

My question is how to optimize this scenario?
--
View this message in context: http://www.nabble.com/optimization-on-a-lot-of-simple-rules-tp24556724p24556724.html
Sent from the drools - user mailing list archive at Nabble.com.

_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users