In a sense, yes - but its the result of the comparison that is "cached" really.<br><br>In the case you described, it is subrule generation. So either side of the "or" is like a separate rule. <br>In version 3, the result of isSameAmount (ie if it was true or false) is "cached".
<br><br>Things will only be re-checked if the "Check" fact changes (and the engine knows about the change). <br><br>Note that this checking happens as you are asserting objects, not when you "fireAllRules" necessarily.
<br><br><div><span class="gmail_quote">On 7/20/07, <b class="gmail_sendername">Yuri de Wit</b> <<a href="mailto:ydewit@gmail.com">ydewit@gmail.com</a>> 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 -> (isSameAmount($amt, $amount) )<br><br>My understanding is that once asserted the amount property will be
<br>"cached" 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>