clara

http://www.clara-rules.org/
eraserhd 2020-08-12T15:12:11.304100Z

Does Clara do better with [Object (= n ?n) (odd? n)] than [Object (= n ?n)] [:test (odd? n)]? (In other words, does it filter before working memory in the previous case?)

ethanc 2020-08-12T18:30:58.307800Z

I believe that the first example would compile the odd? constraint into the alpha node, where as the second would have test node after the AlphaNode. I don’t believe that either of these nodes add anything to working memory, following nodes might though.

eraserhd 2020-08-12T18:34:16.308300Z

Hmm, I omitted that I expect there to be another hash-join field on Object.

ethanc 2020-08-12T19:20:30.311600Z

with the hashJoin between the alpha and the test, then i would expect moving the odd? constraint to the alpha node to likely reduce some of the objects being placed into working memory. How much savings it would produce I cannot say.