[rules-users] What's the performance impact of not flattening object model?

Darko IVANCAN ivancan at gmx.de
Sun Dec 9 08:14:25 EST 2007


Hi,

Well, there are different aspects especially regarding the impact in the
RETE algorithm
having rules with
when
    a : A() from root.getB().getA();
then
 ...

will need to evaluate the root. ... in order to see IF there is an A.

=> The RETE network looses some it's first level of filtering (alpha-nodes).

What blocks you from doing:
insert (root.getB());
insert (root.getB().getA());
???

Real Life Scenario: Imagine you're shopping
1) you run every time to the informationdesk to ask them where they have A
or
2) you have a grocery list, and as you walk and see the objects you buy
them.

hope this helps,
Darko Ivancan


On 07/12/2007 00:40, Mattias Nilsson wrote:
> Hi,
>
> I understand it may be hard to give a general answer to this question,
> but maybe you can help me with a rule of thumb?
>
> I'm working with a customer that has a business object model that is 3-4
> levels deep. A top object with child objects that have child objects and
> so on...
>
> It is fully possible to only insert the top object into working memory
> and reason over the entire object hierarchy with the help of from,
> collect, nested accessors etc.
>
> But is that not a smart way to go forward? Better to flatten the object
> model and insert all of the objects into working memory?
>
> Will not flattening the object model have a major performance impact?
>
> Regards,
> Mattias Nilsson
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>
>   



More information about the rules-users mailing list