[ https://issues.apache.org/jira/browse/KAFKA-2050?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14381251#comment-14381251 ]
Tim Brooks commented on KAFKA-2050: ----------------------------------- Okay. I submitted it. I had some trouble. But I think I was able to work it out. > Avoid calling .size() on java.util.ConcurrentLinkedQueue > -------------------------------------------------------- > > Key: KAFKA-2050 > URL: https://issues.apache.org/jira/browse/KAFKA-2050 > Project: Kafka > Issue Type: Bug > Components: network > Reporter: Tim Brooks > Assignee: Jun Rao > Attachments: KAFKA-2050.patch, dont_call_queue_size.patch > > > Generally, it seems to be preferred to avoid calling .size() on a Java > ConcurrentLinkedQueue. This is an O(N) operation as it must iterate through > all the nodes. > Calling this every time through the loop makes this issue worse under high > load. It seems like the same functionality can be attained by just polling > and checking for null. > This is more imperative and less functional, but it seems alright since this > is in lower-level networking code. -- This message was sent by Atlassian JIRA (v6.3.4#6332)