In a sense, yes - but its the result of the comparison that is &quot;cached&quot; really.<br><br>In the case you described, it is subrule generation. So either side of the &quot;or&quot; is like a separate rule. <br>In version 3, the result of isSameAmount (ie if it was true or false) is &quot;cached&quot;. 
<br><br>Things will only be re-checked if the &quot;Check&quot; fact changes (and the engine knows about the change). <br><br>Note that this checking happens as you are asserting objects, not when you &quot;fireAllRules&quot; necessarily.
<br><br><div><span class="gmail_quote">On 7/20/07, <b class="gmail_sendername">Yuri de Wit</b> &lt;<a href="mailto:ydewit@gmail.com">ydewit@gmail.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
What is the extent of the performance impact caused by using predicate<br>expressions?<br><br>Check( amount == $amount )<br>or<br>Check( $amt : amount -&gt; (isSameAmount($amt, $amount) )<br><br>My understanding is that once asserted the amount property will be
<br>&quot;cached&quot; in the shadow fact, is the result of isSameAmount(...) also<br>cached?<br><br>thanks,<br><br>-- yuri<br>_______________________________________________<br>rules-users mailing list<br><a href="mailto:rules-users@lists.jboss.org">
rules-users@lists.jboss.org</a><br><a href="https://lists.jboss.org/mailman/listinfo/rules-users">https://lists.jboss.org/mailman/listinfo/rules-users</a><br></blockquote></div><br>