Bug 976824
Summary: | Possible performance regression (5.3.1-P02 vs P03) | ||||||
---|---|---|---|---|---|---|---|
Product: | [JBoss] JBoss Enterprise BRMS Platform 5 | Reporter: | Petr Široký <psiroky> | ||||
Component: | BRE (Expert, Fusion) | Assignee: | Mario Fusco <mfusco> | ||||
Status: | ASSIGNED --- | QA Contact: | |||||
Severity: | unspecified | Docs Contact: | |||||
Priority: | unspecified | ||||||
Version: | unspecified | CC: | alazarot, jcoleman, mfusco | ||||
Target Milestone: | --- | ||||||
Target Release: | --- | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
Whiteboard: | |||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | Type: | Bug | |||||
Regression: | --- | Mount Type: | --- | ||||
Documentation: | --- | CRM: | |||||
Verified Versions: | Category: | --- | |||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
Cloudforms Team: | --- | Target Upstream Version: | |||||
Embargoed: | |||||||
Bug Depends On: | |||||||
Bug Blocks: | 979436 | ||||||
Attachments: |
|
Description
Petr Široký
2013-06-21 14:51:15 UTC
Created attachment 763875 [details]
Simple Maven based reproducer
I have been looking into the issue a little bit and found out that the following commit is probably responsible for the regression. (I have built the drools without that commit and the times is ~same as with P02. http://git.app.eng.bos.redhat.com/?p=droolsjbpm/drools.git;a=commit;h=d4d0aaf8d7749c9ed03f56fe957d3ea496593420 The commit is fixing JBRULES-3274, so we probably can't just exclude it. The (biggest part of) this performance regression was caused by the internal implementation of the new UpgradableReentrantReadWriteLock. In particular it used 2 maps to hold some necessary counters index by thread (using the thread id as key). I replaced the 2 maps with a ThreadLocal and put the 2 counters there https://github.com/droolsjbpm/drools/commit/8d02abdc0999b60b127ae4b97be94ef20a37d81e#L0L17 and the provided test case showed a quite satisfying performance improvement. |