-
Enhancement
-
Resolution: Done
-
Minor
-
6.4.0.Final
-
NEW
-
NEW
I've just saw a case (probably not the first time) that had poor performance.
It turned out that there was no logback.xml and all logging was therefore default to DEBUG.
Once we figured that out, turning of debug logging for org.drools made the application 7 times faster!
And it turned out environmentMode FAST_ASSERT was on too, so turning that off also was another big gain.
If a benchmark is run with any of these, the performance summary should have a big warning above it to mention any of these issues.
To fix this, code pointers:
- Run NurseRosteringBenchmarkApp.java with program argument "sprint" so it doesn't take to long and look at the benchmark report that it generates
- Probably just as simple adding a string in this warningList field in the fillWarningList() method: https://github.com/droolsjbpm/optaplanner/blob/master/optaplanner-benchmark/src/main/java/org/optaplanner/benchmark/impl/report/BenchmarkReport.java#L101
- See org.optaplanner.benchmark.impl.result.PlannerBenchmarkResult#resolveLoggingLevel() => loggingLevel field should be split up in to optaplannerLoggingLevel and droolsLoggingLevel.
- (not that it matters, but) That html file is this freemarker file: https://github.com/droolsjbpm/optaplanner/blob/master/optaplanner-benchmark/src/main/resources/org/optaplanner/benchmark/impl/report/benchmarkReport.html.ftl and it has this piece of code:
<#list benchmarkReport.warningList as warning> <div class="alert alert-error"> <p>${warning}</p> </div> </#list>