Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Minor 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.

        Activity

        Hide
        ASF subversion and git services added a comment -

        Commit 1457964 from curtisr7
        [ https://svn.apache.org/r1457964 ]

        OPENJPA-2353: Reduce BitSet object allocations in StateManagerImpl.

        Show
        ASF subversion and git services added a comment - Commit 1457964 from curtisr7 [ https://svn.apache.org/r1457964 ] OPENJPA-2353 : Reduce BitSet object allocations in StateManagerImpl.
        Hide
        ASF subversion and git services added a comment -

        Commit 1457965 from curtisr7
        [ https://svn.apache.org/r1457965 ]

        OPENJPA-2353: Reduce object allocations in BrokerImpl.initializeOperatingSet().

        Show
        ASF subversion and git services added a comment - Commit 1457965 from curtisr7 [ https://svn.apache.org/r1457965 ] OPENJPA-2353 : Reduce object allocations in BrokerImpl.initializeOperatingSet().
        Hide
        ASF subversion and git services added a comment -

        Commit 1457966 from curtisr7
        [ https://svn.apache.org/r1457966 ]

        OPENJPA-2353: Reduce BitSet object allocations in StateManagerImpl.

        Show
        ASF subversion and git services added a comment - Commit 1457966 from curtisr7 [ https://svn.apache.org/r1457966 ] OPENJPA-2353 : Reduce BitSet object allocations in StateManagerImpl.
        Hide
        ASF subversion and git services added a comment -

        Commit 1457967 from curtisr7
        [ https://svn.apache.org/r1457967 ]

        OPENJPA-2353: Reduce object allocations in BrokerImpl.initializeOperatingSet().

        Show
        ASF subversion and git services added a comment - Commit 1457967 from curtisr7 [ https://svn.apache.org/r1457967 ] OPENJPA-2353 : Reduce object allocations in BrokerImpl.initializeOperatingSet().
        Hide
        ASF subversion and git services added a comment -

        Commit 1458026 from curtisr7
        [ https://svn.apache.org/r1458026 ]

        OPENJPA-2353: Reduce object allocations in DetachManagerLite.

        Show
        ASF subversion and git services added a comment - Commit 1458026 from curtisr7 [ https://svn.apache.org/r1458026 ] OPENJPA-2353 : Reduce object allocations in DetachManagerLite.
        Hide
        ASF subversion and git services added a comment -

        Commit 1458027 from curtisr7
        [ https://svn.apache.org/r1458027 ]

        OPENJPA-2353: Reduce object allocations in DetachManagerLite.

        Show
        ASF subversion and git services added a comment - Commit 1458027 from curtisr7 [ https://svn.apache.org/r1458027 ] OPENJPA-2353 : Reduce object allocations in DetachManagerLite.
        Hide
        ASF subversion and git services added a comment -

        Commit 1458432 from curtisr7
        [ https://svn.apache.org/r1458432 ]

        OPENJPA-2353: Fix bug in BrokerImpl.initializeOperatingSet() initialization after deserialization.

        Show
        ASF subversion and git services added a comment - Commit 1458432 from curtisr7 [ https://svn.apache.org/r1458432 ] OPENJPA-2353 : Fix bug in BrokerImpl.initializeOperatingSet() initialization after deserialization.
        Hide
        ASF subversion and git services added a comment -

        Commit 1458436 from curtisr7
        [ https://svn.apache.org/r1458436 ]

        OPENJPA-2353: Remove debug from previous commit.

        Show
        ASF subversion and git services added a comment - Commit 1458436 from curtisr7 [ https://svn.apache.org/r1458436 ] OPENJPA-2353 : Remove debug from previous commit.
        Hide
        ASF subversion and git services added a comment -

        Commit 1458437 from curtisr7
        [ https://svn.apache.org/r1458437 ]

        OPENJPA-2353: Fix bug in BrokerImpl.initializeOperatingSet() initialization after deserialization.

        Show
        ASF subversion and git services added a comment - Commit 1458437 from curtisr7 [ https://svn.apache.org/r1458437 ] OPENJPA-2353 : Fix bug in BrokerImpl.initializeOperatingSet() initialization after deserialization.

          People

          • Assignee:
            Rick Curtis
            Reporter:
            Rick Curtis
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development