OpenJPA
  1. OpenJPA
  2. OPENJPA-1549

StateManagerImpl performance improvement

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.2.3, 1.3.0, 2.0.0
    • Fix Version/s: 2.0.0-beta3
    • Component/s: kernel
    • Labels:
      None

      Description

      I found that we could be much more efficient in StateManagerImpl.proxyFields(boolean reset, boolean replaceNull). As it is implemented today, we process all fields even though we only need to perform work on fields that are of the type Calendar, Collection, Date, Map, Object.

        Activity

        Rick Curtis created issue -
        Hide
        Rick Curtis added a comment -

        Committed revision 918245 to trunk.

        For this change I added the method getProxyFields() to ClassMetaData, which keeps track of the fields which need to be wrappered by a proxy. Now when the StateManagerImpl.proxy() is invoke, we only attempt to proxy fields that are of the proper type. This has shown a decent improvement in some perf testing.

        Show
        Rick Curtis added a comment - Committed revision 918245 to trunk. For this change I added the method getProxyFields() to ClassMetaData, which keeps track of the fields which need to be wrappered by a proxy. Now when the StateManagerImpl.proxy() is invoke, we only attempt to proxy fields that are of the proper type. This has shown a decent improvement in some perf testing.
        Rick Curtis made changes -
        Field Original Value New Value
        Status Open [ 1 ] Resolved [ 5 ]
        Fix Version/s 2.0.0 [ 12314019 ]
        Resolution Fixed [ 1 ]
        Rick Curtis made changes -
        Affects Version/s 1.2.3 [ 12314517 ]
        Affects Version/s 1.3.0 [ 12313326 ]
        Affects Version/s 2.0.0 [ 12314019 ]
        Donald Woods made changes -
        Fix Version/s 2.0.0-beta3 [ 12314857 ]
        Fix Version/s 2.0.0 [ 12314019 ]
        Donald Woods made changes -
        Status Resolved [ 5 ] Closed [ 6 ]
        Transition Time In Source Status Execution Times Last Executer Last Execution Date
        Open Open Resolved Resolved
        6m 53s 1 Rick Curtis 02/Mar/10 23:10
        Resolved Resolved Closed Closed
        27d 6m 1 Donald Woods 30/Mar/10 00:17

          People

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

            Dates

            • Created:
              Updated:
              Resolved:

              Development