Kuan Po Tseng created KAFKA-16942:
-------------------------------------

             Summary: Use ConcurrentHashMap in RecordAccumulator#nodeStats
                 Key: KAFKA-16942
                 URL: https://issues.apache.org/jira/browse/KAFKA-16942
             Project: Kafka
          Issue Type: Improvement
          Components: clients
            Reporter: Kuan Po Tseng
            Assignee: Kuan Po Tseng


per discussed in 
[https://github.com/apache/kafka/pull/16231#discussion_r1635345881]

Through the ConcurrentMapBenchmark, we observed that in scenarios where write 
operations (i.e., computeIfAbsent) constitute 10%, the get performance of 
CopyOnWriteMap is lower compared to ConcurrentHashMap. However, when iterating 
over entrySet and values, CopyOnWriteMap performs better than ConcurrentHashMap.

In RecordAccumulator#nodeStats, the computeIfAbsent method is rarely triggered, 
and we only use the get method to read data. Therefore, switching to 
ConcurrentHashMap would gain better performance.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to