That is a half-truth (if such thing exists...) :)
You will indeed avoid the beta evaluations (joins) that are more
expensive than alpha evaluations, and also prevent the rule activations. But
alpha evaluations will still happen. So, I would say, you would prevent
90%(?) of the engine work with such strategy, but there would be still a
minor 10%(?) cost, that may be very acceptable in your case. The percentages
are pure guess, since they will vary greatly depending on your rules and the
CEs you are using, but they give you a general idea.
2007/8/15, Yuri <ydewit(a)gmail.com>:
Edson Tirelli <tirelli <at> post.com> writes:
> Yuri, Right now, the only way is to work with different rule
working memories. Even using agenda-groups or rule-flow, rules are still
eagerly evaluated, as this is how standard Rete works.
> The problem of creating and canceling too many activations is a
problem and the only way around it right now is sequential mode, but
mode has some restrictions on what you can do. For instance, you must work
a stateless working memory and can not modify/retract facts in your rules
work with sequential mode, but it will give you big performance boosts.
> We are evaluating the possibility of creating physical network
for next version, but that will require some R&D yet. s Edson
Edson, thanks for the explanation!
At this point we are considering a scheme to create additional working
and have a way to propagate inserts/updates/retracts selectively.
Is my assumption correct that if I make sure a "barrier" column/constrains
at the top of the rete network that I could delay the insertion of the
and achieve what I am looking for without having to split the working
rules-users mailing list
Software Engineer - JBoss Rules Core Developer
Office: +55 11 3529-6000
Mobile: +55 11 9287-5646
JBoss, a division of Red Hat @ www.jboss.com