[ https://issues.apache.org/jira/browse/GEODE-7814?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ernest Burghardt closed GEODE-7814. ----------------------------------- Assignee: Ernest Burghardt (was: Juan Ramos) > Unnecessary Object Allocations in DistributionMessage > ----------------------------------------------------- > > Key: GEODE-7814 > URL: https://issues.apache.org/jira/browse/GEODE-7814 > Project: Geode > Issue Type: Bug > Components: membership > Reporter: Juan Ramos > Assignee: Ernest Burghardt > Priority: Major > Labels: GeodeCommons > Fix For: 1.12.0, 1.13.0 > > Attachments: countDifference.png, timeSpent.png > > Time Spent: 20m > Remaining Estimate: 0h > > The {{DistributionMessage}} class unnecessary allocates instances of > {{java.util.Collection$SingletonList}} and {{InternalDistributedMember[]}} > through the attributes {{EMPTY_RECIPIENTS_ARRAY}} and {{ALL_RECIPIENTS_LIST}}. > These attributes are {{final}} and only used to execute internal comparisons > but, since they are not declared as {{static}}, every instance of > {{DistributionMessage}} will have its own instance, generating unnecessary > garbage. > Using one of our internal testing scenarios and a java profiler we detected > that, under the current {{develop}} branch, we create 14.824 and 11.212 more > instances of {{java.util.Collection$SingletonList}} and > {{InternalDistributedMember[]}} than when using Geode 1.10. > The increase in the memory footprint is not much (around 1MB all together), > and the time spent on this operation is around 1.5 seconds slower overall > (screenshots attached). -- This message was sent by Atlassian Jira (v8.3.4#803005)