[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