[jboss-jira] [JBoss JIRA] (JBRULES-2685) Performance degradation from 5.0.1 to 5.1.0
Geoffrey De Smet (JIRA)
jira-events at lists.jboss.org
Thu Apr 5 07:31:50 EDT 2012
[ https://issues.jboss.org/browse/JBRULES-2685?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Geoffrey De Smet resolved JBRULES-2685.
---------------------------------------
Assignee: Mark Proctor (was: Edson Tirelli)
Fix Version/s: 5.4.0.Beta2
(was: 5.4.0.CR1)
Resolution: Done
Mark's changes must have fixed it, because 5.4.0 does not suffer from the problem.
{code}With drools 5.0.1:
reference.drl Count: 2000
reference.drl Time: 142ms
reference.drl Time per element: 0.071ms
BAR Duplicates: 766
FOO Duplicates: 784
reference.drl Count: 20000
reference.drl Time: 795ms
reference.drl Time per element: 0.03975ms
BAR Duplicates: 7844
FOO Duplicates: 8262
from.drl Count: 200
from.drl Time: 429ms
from.drl Time per element: 2.145ms
BAR Duplicates: 90
FOO Duplicates: 68
With drools 5.4.0.Beta2:
reference.drl Count: 2000
reference.drl Time: 221ms
reference.drl Time per element: 0.1105ms
BAR Duplicates: 800
FOO Duplicates: 758
reference.drl Count: 20000
reference.drl Time: 649ms
reference.drl Time per element: 0.03245ms
BAR Duplicates: 7946
FOO Duplicates: 7924
from.drl Count: 200
from.drl Time: 357ms
from.drl Time per element: 1.785ms
BAR Duplicates: 98
FOO Duplicates: 96
{code}
5.4 down scales a little worse (see 2000 instance on reference), but upscales better (see 20000 instance on reference and 200 on from).
> Performance degradation from 5.0.1 to 5.1.0
> -------------------------------------------
>
> Key: JBRULES-2685
> URL: https://issues.jboss.org/browse/JBRULES-2685
> Project: Drools
> Issue Type: Quality Risk
> Security Level: Public(Everyone can see)
> Components: drools-core
> Affects Versions: 5.1.0.FINAL
> Environment: OSX 10.6.4
> Reporter: Greg Barton
> Assignee: Mark Proctor
> Priority: Minor
> Fix For: 5.4.0.Beta2
>
> Attachments: DroolsNested2.zip
>
>
> I've observed a sizable (25%) performance degradation between the 5.0.1 and 5.1.0 releases. I've attached a sample project that tests the performance of matching nested objects. (ANd compares direct reference matching and the performance pitfalls of "from," but that's beside the current point.)
> If you switch the pom.xml from using 5.0.1 to 5.1.0 for the drools dependencies you'll see 25% longer execution times on the tests. (mvn test)
> Here's the test output:
> 5.0.1
> reference.drl Count: 2000
> reference.drl Time: 267ms
> reference.drl Time per element: 0.1335ms
> BAR Duplicates: 780
> FOO Duplicates: 880
> reference.drl Count: 20000
> reference.drl Time: 1249ms
> reference.drl Time per element: 0.06245ms
> BAR Duplicates: 7702
> FOO Duplicates: 8040
> from.drl Count: 200
> from.drl Time: 1139ms
> from.drl Time per element: 5.695ms
> BAR Duplicates: 112
> FOO Duplicates: 102
> reference.drl Count: 200
> reference.drl Time: 5ms
> reference.drl Time per element: 0.025ms
> BAR Duplicates: 86
> FOO Duplicates: 60
> 5.1.0
> reference.drl Count: 2000
> reference.drl Time: 300ms
> reference.drl Time per element: 0.15ms
> BAR Duplicates: 788
> FOO Duplicates: 820
> reference.drl Count: 20000
> reference.drl Time: 1564ms
> reference.drl Time per element: 0.0782ms
> BAR Duplicates: 8142
> FOO Duplicates: 7960
> from.drl Count: 200
> from.drl Time: 3543ms
> from.drl Time per element: 17.715ms
> BAR Duplicates: 68
> FOO Duplicates: 90
> reference.drl Count: 200
> reference.drl Time: 13ms
> reference.drl Time per element: 0.065ms
> BAR Duplicates: 84
> FOO Duplicates: 74
> On the most taxing test (20k objects) 5.0.1 took 1249ms while 5.1.0 took 1564ms, and for larger tests the effect is more pronounced. This is primarily a test of == on object references.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list