5.1.1 is slightly faster, but still beaten by 5.0.1.

5.1.1:

reference.drl Count: 80000
reference.drl Time: 6812ms
reference.drl Time per element: 0.08515ms
BAR Duplicates: 32012
FOO Duplicates: 31938

5.1.0:

reference.drl Count: 80000
reference.drl Time: 7533ms
reference.drl Time per element: 0.0941625ms
BAR Duplicates: 31832
FOO Duplicates: 32642

5.0.1:

reference.drl Count: 80000
reference.drl Time: 4814ms
reference.drl Time per element: 0.060175ms
BAR Duplicates: 32494
FOO 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@post.com> wrote:

From: Edson Tirelli <tirelli@post.com>
Subject: Re: [rules-dev] FYI: Performance degradation from 5.0.1 to 5.1.0
To: "Rules Dev List" <rules-dev@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