5.1.1 is slightly faster, but still beaten by 5.0.1.
5.1.1:
reference.drl Count: 80000reference.drl Time: 6812msreference.drl Time per element:
0.08515msBAR Duplicates: 32012FOO Duplicates: 31938
5.1.0:
reference.drl Count: 80000reference.drl Time: 7533msreference.drl Time per element:
0.0941625msBAR Duplicates: 31832FOO Duplicates: 32642
5.0.1:
reference.drl Count: 80000reference.drl Time: 4814msreference.drl Time per element:
0.060175msBAR Duplicates: 32494FOO Duplicates: 31578
I tried running 5.2.0.SNAPSHOT but the tests died with the following exception:
org.drools.RuntimeDroolsException: Unable to load dialect
'org.drools.rule.builder.dialect.java.JavaDialectConfiguration:java:org.drools.rule.builder.dialect.java.JavaDialectConfiguration' at
org.drools.compiler.PackageBuilderConfiguration.addDialect(PackageBuilderConfiguration.java:275)
at
org.drools.compiler.PackageBuilderConfiguration.buildDialectConfigurationMap(PackageBuilderConfiguration.java:260)
at
org.drools.compiler.PackageBuilderConfiguration.init(PackageBuilderConfiguration.java:173)
at
org.drools.compiler.PackageBuilderConfiguration.<init>(PackageBuilderConfiguration.java:151)
at org.drools.compiler.PackageBuilder.<init>(PackageBuilder.java:216)
at org.drools.compiler.PackageBuilder.<init>(PackageBuilder.java:147)
at
org.drools.builder.impl.KnowledgeBuilderFactoryServiceImpl.newKnowledgeBuilder(KnowledgeBuilderFactoryServiceImpl.java:34)
at
org.drools.builder.KnowledgeBuilderFactory.newKnowledgeBuilder(KnowledgeBuilderFactory.java:47)
at com.sample.DroolsTest.readKnowledgeBase(DroolsTest.java:66)
at com.sample.DroolsTest.go(DroolsTest.java:31)
at com.sample.SimpleTest.fromTest_200(SimpleTest.java:29)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:637)
Caused by: java.lang.RuntimeException: The Eclipse JDT Core jar is not in the classpath
at
org.drools.rule.builder.dialect.java.JavaDialectConfiguration.setCompiler(JavaDialectConfiguration.java:94)
at
org.drools.rule.builder.dialect.java.JavaDialectConfiguration.init(JavaDialectConfiguration.java:55)
at
org.drools.compiler.PackageBuilderConfiguration.addDialect(PackageBuilderConfiguration.java:271)
... 33 more
... Removed 20 stack frames
--- On Thu, 9/2/10, Edson Tirelli <tirelli(a)post.com> wrote:
From: Edson Tirelli <tirelli(a)post.com>
Subject: Re: [rules-dev] FYI: Performance degradation from 5.0.1 to 5.1.0
To: "Rules Dev List" <rules-dev(a)lists.jboss.org>
Date: Thursday, September 2, 2010, 11:59 PM
Greg,
Can you check 5.1.1 instead? There was a problem in 5.1.0 that caused indexes to be
disabled in certain situations and also a bug on "exists". In general, we had
the opposite feedback: reduction of memory usage and performance increase due to reduced
GC overhead.
Edson