You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openjpa.apache.org by "Rick Curtis (JIRA)" <ji...@apache.org> on 2013/03/25 16:41:14 UTC

[jira] [Resolved] (OPENJPA-2353) Reduce object allocations

     [ https://issues.apache.org/jira/browse/OPENJPA-2353?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rick Curtis resolved OPENJPA-2353.
----------------------------------

       Resolution: Fixed
    Fix Version/s: 2.3.0
    
> 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.3.0, 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