[
https://issues.jboss.org/browse/JBRULES-3367?page=com.atlassian.jira.plug...
]
Geoffrey De Smet commented on JBRULES-3367:
-------------------------------------------
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:
o Flexibility: score rules can be written in decision tables xls, guvnor, ...
o Fast incremental calculation for free: no need to write boilerplate code for
it
* Negative:
o Learning curve for DRL
o Polygot fear (some companies don't like adding an extra language as DRL in
the mix)
B) Simple Java score calculation
* Positive:
o Easy to write
o No learning curve (plain old java)
o Fast prototyping: existing score calculation code can be reused
* Negative:
o Very slow, not scalable (no incremental calculation at all)
C) Incremental Java score calculation:
* Positive:
o Very fast and scalable
* Negative:
o 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