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


Problems:
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
(v6.3.4#6332)

Mime
View raw message