[
https://issues.apache.org/jira/browse/GEODE-6695?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16823608#comment-16823608
]
Darrel Schneider commented on GEODE-6695:
-----------------------------------------
I prototyped a fix for this here:
40a5c13db2aef0051abb2544089b1aa1bcbc1fb6
If reduced the amount of memory allocated by the put benchmark by 7%
> ClientProxyMembershipID.canonicalReference allocates lots of objects
> --------------------------------------------------------------------
>
> Key: GEODE-6695
> URL: https://issues.apache.org/jira/browse/GEODE-6695
> Project: Geode
> Issue Type: Improvement
> Components: serialization
> Reporter: Darrel Schneider
> Assignee: Darrel Schneider
> Priority: Major
>
> ClientProxyMembershipID.canonicalReference ends up allocating a large number
> of objects that get garbage collected. The cause of this is that when it goes
> to do a lookup on the ConcurrentHashMap to see if a canonical id exists, it
> calls ClientProxyMembershipID.hashCode which in turn calls isDurable(). This
> method calls getDistributedMember which does a deserialization of the
> identity byte array which does lots of object allocations.
> I think we can instead check for a ClientProxyMembershipID whose uniqueId and
> identity are equal. If we find one then we can use it as the canonical id.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)