ignite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vladimir Ozerov (JIRA)" <j...@apache.org>
Subject [jira] [Created] (IGNITE-2408) Hot spot in GridDhtAtomicCache$DeferredResponseBuffer.addResponse()
Date Tue, 19 Jan 2016 15:14:39 GMT
Vladimir Ozerov created IGNITE-2408:

             Summary: Hot spot in GridDhtAtomicCache$DeferredResponseBuffer.addResponse()
                 Key: IGNITE-2408
                 URL: https://issues.apache.org/jira/browse/IGNITE-2408
             Project: Ignite
          Issue Type: Sub-task
          Components: cache
    Affects Versions: 1.5
            Reporter: Vladimir Ozerov
            Priority: Critical
             Fix For: 1.6

1) DeferredResponseBuffer.respVers is ConcurrentLinkedDeque8 and size() method is called on
it. It is O(N) for this collection, hence the hot spot.
2) We use read-write lock for very small updates. This is not efficient.

Probably we should simply switch to (sycnhronized + ArrayList) and this will be enough. 
If synchronized is not an option, at the very least we must use collection with O(1) size
or maintain separate counter (e.g. LongAccumulator).

This message was sent by Atlassian JIRA

View raw message