[jboss-jira] [JBoss JIRA] Updated: (JBRULES-2238) Accumulate should be implemented with left-input incremental so they don't start from scratch on every left-input retraction/assertion

Mark Proctor (JIRA) jira-events at lists.jboss.org
Tue May 17 01:44:05 EDT 2011


     [ https://issues.jboss.org/browse/JBRULES-2238?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Mark Proctor updated JBRULES-2238:
----------------------------------

    Fix Version/s: 5.2.0.CR1
                       (was: 5.2.0.M1)


> Accumulate should be implemented with left-input incremental so they don't start from scratch on every left-input retraction/assertion
> --------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: JBRULES-2238
>                 URL: https://issues.jboss.org/browse/JBRULES-2238
>             Project: Drools
>          Issue Type: Feature Request
>      Security Level: Public(Everyone can see) 
>          Components: drools-core  (expert)
>    Affects Versions: 5.0.1.FINAL
>            Reporter: Geoffrey De Smet
>            Assignee: Edson Tirelli
>             Fix For: 5.2.0.CR1
>
>
> The current accumulate implementation has a severe performance loss in the drools-solver context.
> Edson said that this issue could be the culprit.
> However, for this to be implemented the true modify feature should first be implemented.
> See the discussion "Why is this DRL twice as slow?" on the dev user list.
> From IRC:
> <ge0ffrey> more and more of my experiments show the poisones nature of accumulate for drools-solver. Probably because they are backwards chained (as I understand it?). Of course accummulate is great for many use cases, just not drools-solver.
> <ge0ffrey> The problem is, I have no way to workaround them. I need the sum of my logically inserted objects.
> <etirelli> ge0ffrey: no, accumulate are implemented as forward chain as usual
> <etirelli> the problem is that a left-input retraction on an accumulate node will throw away any result and a leftinput assert will recalculate everything from scratch
> <ge0ffrey> What do you mean by "must fully recalculate"?
> <etirelli> mean from scratch
> <ge0ffrey> Why does it do that?
> <etirelli> remember that modify = retract+assert
> <ge0ffrey> And right-input retractions won't recalculate everything from scratch?
> <etirelli> no... right input are incremental
> <ge0ffrey> would making leftinput assert incremental too be possible?
> <etirelli> ge0ffrey: the only way to do left-input incremental is with a feature called "true modify"

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the jboss-jira mailing list