[
https://issues.apache.org/jira/browse/OPENJPA-250?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12787737#action_12787737
]
Rick Curtis commented on OPENJPA-250:
-------------------------------------
Shortly here I'm going to commit changes to this JIRA and I'd like to explain
them before I pull the trigger...
In doing some performance testing on trunk, we found that
java.util.concurrent.lock.ReentrantLocks do not scale nearly as well as java
synchronization. A 5% regression was observed on an 8-way and a ~20% regression
was observed on a 16-way machine when using j.u.c.l.ReentrantLocks rather than
the synchronized keyword. When openjpa.MetaDataRepository=Preload=true is
configured this regression is gone, and a modest performance improvement is
observed.
The performance (or the lack thereof) of j.u.c.l.ReentrantLock is being pursued
by the JDK team, but in the meantime I'm committing a change that will do the
following:
1.) Give us our previous 'default' performance.
2.) Allow a user to configure the MDR to use no locks to improve
scalability/performance.
> Reduce synchronization bottlenecks in data cache, metadata repository, and
> lifecycle event manager
> --------------------------------------------------------------------------------------------------
>
> Key: OPENJPA-250
> URL: https://issues.apache.org/jira/browse/OPENJPA-250
> Project: OpenJPA
> Issue Type: Improvement
> Components: build / infrastructure, datacache, jdbc, kernel, lib,
> query
> Affects Versions: 0.9.0, 0.9.6, 0.9.7, 1.0.3, 1.1.0, 1.2.1, 2.0.0-M2
> Reporter: Patrick Linskey
> Assignee: Rick Curtis
> Fix For: 2.0.0-M3
>
> Attachments: OPENJPA-250-1.0.x.patch, OPENJPA-250.patch,
> sync-121.patch
>
>
> Parts of the data cache, metadata repository, and lifecycle event manager are
> over-synchcronized. This should be resolved.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.