Reputation:
How rule engines are evaluated? What do you test to see if it performs OK or not? Milliseconds per single rule execution? Complexity of a rule? If it's "time per rule", what time is considered to be great/bad? Thanks!
Upvotes: 1
Views: 788
Reputation: 21713
It all depends on what you want to evaluate and what's most important to you.
If the pure execution time of a call to the rule engine is most important, you should run tests with rulesets that are designed in a similar way than you expect them to be. The structure, uniformity and complexity of business rule projects can vary widely from project to project. Because of that, it's impossible to make general statements about execution times. Consider a project with 5000 very uniform rules as opposed to a project with 100 complex and interdependent rules. Different engines will handle these scenarios with varying speed. The way a rule engine handles the selection of eligible rules for execution is another factor that determines the performance.
Another important part of a Business Rule Management System (BRMS) is the ease of development, change and maintenance of the rules. Whether or not there are systems in place for rule governance, management of the rule lifecycle, automated testing & simulation or a simplified frontend for business-user.
Upvotes: 0
Reputation: 8144
A major selling point of rules engines are speed. The usually compile your rules, rather than interpreting them, otherwise wouldn't it be easier to just write the rules in a simple scripting language? Rules should not take more that a couple ms.
Upvotes: 1