Drools 5.3.0 FINAL.<br><br>This experiment was inspired by code posted with the insinuation that MVEL would &quot;optimize&quot; condition evaluation. - Consider this rule:<br><br>rule &quot;Term - java&quot;<br>dialect &quot;java&quot;<br>
when<br>    $ea : EasyApp( Test.valueInList( $ea.getProductCode(), &quot;CAR&quot; )==true<br>                   &amp;&amp; age &lt; 0 )<br>then end<br><br>You&#39;d expect that Test.valueInList() is called once per inserted EasyApp fact, and this can be verified easily. - Now the same rule, with MVEL&#39;s syntactic sugar:<br>
<br>rule &quot;Term  - mvel&quot;<br>dialect &quot;mvel&quot;<br>when<br>     $ea : EasyApp( Test.valueInList( productCode, &quot;CAR&quot; )==true<br>                    &amp;&amp; age &lt; 0 )<br>then end<br><br><i><b>Now Test.valueInList() is called twice for each inserted fact.</b></i><br>
<br>Cheers<br>Wolfgang<br><br><br>