I am a newer to drools, and i find that drools dont optimize the following case:
<rule1> <condition>f.a == "this"</condition> </rule> <rule2> <condition>f.a == "that"</condition> </rule> in my understand, if rule1.condition f.a == "this" is true, then rule2.condition will be false and without a evaluation. Maybe we should add some support to the org.drools.spi.Condition two methods: 1. boolean implies(Condition other) return true if this condition implies other condition, so when this condition eval to true, then the other will be true 2. boolean impliesNot(Condition other) return true if this condition implies not the other condition, so when this condition eval to true, the other will be false. also optimize the rateoo engine to avoid evaluate conditional based on these methods. Do you think so?
