Because only one Decision instance is in working memory, so I change the
rule, and make Decision as global, not a fact. The rule is changed as
follows:
global Decision decision;
rule 1
when
Product( id ==1, usage == 1)
then
$decision.setValue(1);
end
.....
Scenario:
1000 rules
1000 times execution
The result shows it improves a lot. The previous rulesets spend more than
100ms, but this time they spend only 10ms.
So I guess that more time is cost in JoinNode ( between Product and Decision
). Is it reasonable?
dave sinclair wrote:
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(a)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-tp24556724p24...
> Sent from the drools - user mailing list archive at
Nabble.com.
>
> _______________________________________________
> rules-users mailing list
> rules-users(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/rules-users
>
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
--
View this message in context:
http://www.nabble.com/optimization-on-a-lot-of-simple-rules-tp24556724p24...
Sent from the drools - user mailing list archive at
Nabble.com.