Reputation: 9303
I'm using Drools 6.4.0.Final programmatically (no workbench) in an web app (a web service). I have 28 drl files containing 177 rules. Compilation time of these rules, on a given machine, varies considerably dependending on the execution context.
I have these contexts:
The reported times refer to DRL compilation only (i.e. execution of KieBuilder.buildAll() method).
The difference between JBoss and Spring Boot (i.e. Tomcat) could be explained supposing that JBoss has some "secret" optimization for Drools that Tomcat has not, but what about the difference between case #1 and #2? Both are executed by JUnit within Eclipse without any application server.
In Drools v5 there was a bug named "Compilation performance for rules degrades as the classpath increases" (https://issues.jboss.org/browse/JBRULES-2067), and, of course, the classpath of the whole application (case #2) is bigger than the one used to execute only the rules (case #1); but that bug is reported as fixed. So the question is: what parameters affect compilation time besides number/content of drl files and hardware speed, that, in my cases, are invariant? And also what can I do to get JBoss performance (case #4) also in case #2 and #3?
Upvotes: 0
Views: 1226