Uploaded image for project: 'OpenJPA'
  1. OpenJPA
  2. OPENJPA-2353

Reduce object allocations

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 2.2.2, 2.3.0
    • Fix Version/s: 2.2.2, 2.3.0
    • Component/s: kernel, performance
    • Labels:
      None

      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.

        Attachments

          Activity

            People

            • Assignee:
              curtisr7 Richard G. Curtis
              Reporter:
              curtisr7 Richard G. Curtis
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: