ignite-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stanilovsky Evgeny (JIRA)" <j...@apache.org>
Subject [jira] [Assigned] (IGNITE-2577) Investigate HashMap.Node[] allocations from GridDistributedTxMapping.add()
Date Thu, 09 Feb 2017 12:53:41 GMT

     [ https://issues.apache.org/jira/browse/IGNITE-2577?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Stanilovsky Evgeny reassigned IGNITE-2577:

    Assignee: Stanilovsky Evgeny

> 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
>            Assignee: Stanilovsky Evgeny
>            Priority: Minor
>              Labels: performance
>             Fix For: 2.0
> *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

View raw message