The follow zip contains src code and Drools dependencies to execute the manners and waltz benchmarks. It also contains source to execute those dependencies for Jess, although you will need to add the Jess dependency yourself. Notice we provide both the DefTemplate and an alternative JavaBean implementation so that
you can test real world performance with java objects.
An ant build file is used to execute the various tests, the default goal prints "help" for the available targets.
run-drools-waltz50 run-drools-manners128 run-drools-manners128-withprints run-drools-manners128-noLeftIndexing run-jess-waltz50 run-jess-waltz50-withprints run-jess-manners128 run-jess-manners128-withprints run-jess-javabean-manners128 run-jess-javabean-manners128-withprints
The Drools source for this zip was tagged under:
The build.xml has a list of available system properties that can turn on/off various drools performance enhancements. We use this to demonstrate the overhead of left indexing for manners.
drools.removeIdentities = <true|false> drools.shareAlphaNodes = <true|false> drools.shareBetaNodes = <true|false> drools.alphaMemory = <true/false> drools.alphaNodeHashingThreshold = <1...n> drools.compositeKeyDepth = <1..3> drools.indexLeftBetaMemory = <true/false> drools.indexRightBetaMemory = <true/false> drools.assertBehaviour = <IDENTITY|EQUALITY> drools.logicalOverride = <DISCARD|PRESERVE>
We still need drools waltzdb benchmark implementations, any takers? The original OPS5 waltzdb can be found here:
We are in the process of adding a javabean version for Jess waltzdb.