Details
-
Bug
-
Resolution: Won't Do
-
Major
-
None
-
6.0.0.Final, 6.1.0.Final, 6.2.0.Final
-
-
User Experience
Description
I experience some major performance degradation while migrating from drools 5.0.1 to 6.x. I'm inserting objects with many properties into the working memory and firing some very basic rules which will match against a very small subset of those properties. I expected that the older version of Drools, which uses pure reflection, to be somewhat slower than the newer, which uses some clever ASM optimization., but this is not the case. I've also noticed that if the required properties are scattered across multiple level of hierarchy, the performance issue will aggravate.
For example, after 100k iterations:
droosl 5.0.1
– Meters ----------------------------------------------------------------------
org.acme.test.drools5.DroolsPerformance.analized
count = 100000
mean rate = 549.27 events/second
...
drools 6.2.0.Final
– Meters ----------------------------------------------------------------------
org.acme.test.drools6.DroolsPerformance.analized
count = 100000
mean rate = 198.58 events/second
...