[ https://issues.apache.org/jira/browse/IGNITE-2577?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Vladimir Ozerov updated IGNITE-2577: ------------------------------------ Issue Type: Task (was: Sub-task) Parent: (was: IGNITE-2232) > Investigate HashMap.Node[] allocations from GridDistributedTxMapping.add() > -------------------------------------------------------------------------- > > Key: IGNITE-2577 > URL: https://issues.apache.org/jira/browse/IGNITE-2577 > Project: Ignite > Issue Type: Task > Components: cache > Affects Versions: 1.5.0.final > Reporter: Vladimir Ozerov > Labels: performance > Fix For: 1.6 > > > *Problem* > GridDistributedTxMapping is initialized with empty HashSet() for TX entries > by default. > When the very first element is added, undelying HashMap expands causing > memory traffic. > *Proposed solutions* > 1) Use LinkedList instead. One can notice that when GridDistributedTxMapping > is deserialized using direct reader, "entries" are read as list. Furthermore, > both "reads" and "writes" projections are returned as wrapped views, so that > do not benefit form fast lookups. > If we neither perform lookups from entries, nor require "unique" Set > semantics, "entries" could be changed to LinkedList thus decresaing memory > traffic. > 2) Use special singleton collection. This way we will have to evaluate all > "entries" usages very carefully. -- This message was sent by Atlassian JIRA (v6.3.4#6332)