Optimize CacheMap read performance
----------------------------------

                 Key: OPENJPA-1872
                 URL: https://issues.apache.org/jira/browse/OPENJPA-1872
             Project: OpenJPA
          Issue Type: Improvement
          Components: performance
    Affects Versions: 2.1.0
            Reporter: Rick Curtis
            Assignee: Rick Curtis
            Priority: Minor
             Fix For: 2.1.0


While digging through a profile I noticed that for every CacheMap.get(..) call 
where there is a hit, I was seeing two underlying ConcurrentHashMap.get method 
calls. This is because we always look to see if a given key exists in the 
pinned map before looking in the main map. As the code stands today, it is 
optimized for the existence of entries in the pinned map and I think that is an 
incorrect assumption.

With this JIRA I'm going to optimize the get(...), containsKey(...), and 
containsValue(...) to check the main map for results before looking at the 
pinned map. In a micro benchmark I observed approximately a 20% improvement in 
the time required to call get(...) when there is a hit.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to