[jboss-jira] [JBoss JIRA] (JBRULES-3367) Planner: score calculation with plain old Java
Geoffrey De Smet (JIRA)
jira-events at lists.jboss.org
Wed Feb 8 04:30:50 EST 2012
[ https://issues.jboss.org/browse/JBRULES-3367?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12664983#comment-12664983 ]
Geoffrey De Smet edited comment on JBRULES-3367 at 2/8/12 4:29 AM:
-------------------------------------------------------------------
The manual should clearly explains the advantages and disadvantages of each approach. Drools Expert stays the recommended default approach.
A) Drools DRL score calculation (the default, recommended way)
* Positive:
** Flexibility: score rules can be written in decision tables xls, guvnor, ...
** Fast incremental calculation for free: no need to write boilerplate code for it
* Negative:
** Learning curve for DRL
** Polygot fear (some companies don't like adding an extra language as DRL in the mix)
B) Simple Java score calculation
* Positive:
** Easy to write
** No learning curve (plain old java)
** Fast prototyping: existing score calculation code can be reused
* Negative:
** Very slow, not scalable (no incremental calculation at all)
C) Incremental Java score calculation:
* Positive:
** Very fast and scalable
* Negative:
** Users need to write a lot of difficult boilerplate code for incremental calculation.
was (Author: ge0ffrey):
The manual should clearly explains the advantages and disadvantages of each approach. Drools Expert stays the recommended default approach.
A) Drools DRL score calculation (the default, recommended way)
* Positive:
** Flexibility: score rules can be written in decision tables xls, guvnor, ...
** Fast incremental calculation for free: no need to write boilerplate code for it
* Negative:
** Learning curve for DRL
** Polygot fear (some companies don't like adding an extra language as DRL in the mix)
B) Simple Java score calculation
* Positive:
** Easy to write
** No learning curve (plain old java)
** Fast prototyping: existing score calculation code can be reused
* Negative:
** Very slow, not scalable (no incremental calculation at all)
C) Incremental Java score calculation:
* Positive:
** Very fast and scalable
* Negative:
** Users need to write a lot of difficult boilerplate code for incremental calculation.
> Planner: score calculation with plain old Java
> ----------------------------------------------
>
> Key: JBRULES-3367
> URL: https://issues.jboss.org/browse/JBRULES-3367
> Project: Drools
> Issue Type: Feature Request
> Security Level: Public(Everyone can see)
> Components: drools-planner
> Reporter: Geoffrey De Smet
> Assignee: Geoffrey De Smet
>
> Provide an plain old java alternative to score calculations, so the user has choice (= freedom):
> - A) Drools score calculation (default). Does incremental calculation automatically, without extra code.
> - B) Java non-incremental score calculation. Very easy to reuse existing score code, but not fast.
> - C) Java incremental score calculation. Requires incremental boilerplate code, but experiments show that in some use cases (with little rules) it can be a 100 times faster than A) with drools 5.3. Note that undo-then and JIT compiling might change that number drastically in future drools versions.
> Technically, it's a matter of overwriting SolutionDirector. For C) we'll also need to adjust the Move and ProblemFactChange interface accordingly.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list