[
https://issues.apache.org/jira/browse/OPENJPA-2353?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Rick Curtis updated OPENJPA-2353:
---------------------------------
Description:
While trolling through some object allocation profiles I found two places that
we can greatly reduce object allocations for most applications.
The first is in BrokerImpl.initializeOperatingSet(). In this method we ALWAYS
create a new IdentityMap, regardless of whether we use it or not. This map is
used for cascading operations and isn't used otherwise.
The second improvement comes in when initializing a new Entity. During loading
of an Entity, we will allocation three BitSets, one to keep track of clean
fields, one for dirty, and another for flushed fields. In the event that we
don't dirty / flush anything for a given Entity the dirty and flushed BitSets
are a waste.
was:This JIRA will be used to check in a couple general purpose object
allocation improvements.
Issue Type: Improvement (was: Bug)
> Reduce object allocations
> -------------------------
>
> Key: OPENJPA-2353
> URL: https://issues.apache.org/jira/browse/OPENJPA-2353
> Project: OpenJPA
> Issue Type: Improvement
> Components: kernel, performance
> Affects Versions: 2.3.0, 2.2.2
> Reporter: Rick Curtis
> Assignee: Rick Curtis
> Priority: Minor
> Fix For: 2.2.2
>
>
> While trolling through some object allocation profiles I found two places
> that we can greatly reduce object allocations for most applications.
> The first is in BrokerImpl.initializeOperatingSet(). In this method we ALWAYS
> create a new IdentityMap, regardless of whether we use it or not. This map is
> used for cascading operations and isn't used otherwise.
> The second improvement comes in when initializing a new Entity. During
> loading of an Entity, we will allocation three BitSets, one to keep track of
> clean fields, one for dirty, and another for flushed fields. In the event
> that we don't dirty / flush anything for a given Entity the dirty and flushed
> BitSets are a waste.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira