dpcollins-google commented on code in PR #13162: URL: https://github.com/apache/kafka/pull/13162#discussion_r1091834852
########## clients/src/main/java/org/apache/kafka/common/utils/Utils.java: ########## @@ -1225,13 +1226,11 @@ public static long tryWriteTo(TransferableChannel destChannel, * @param length The number of bytes to write * @throws IOException For any errors writing to the output */ - public static void writeTo(DataOutput out, ByteBuffer buffer, int length) throws IOException { + public static void writeTo(DataOutputStream out, ByteBuffer buffer, int length) throws IOException { if (buffer.hasArray()) { out.write(buffer.array(), buffer.position() + buffer.arrayOffset(), length); } else { - int pos = buffer.position(); - for (int i = pos; i < length + pos; i++) - out.writeByte(buffer.get(i)); + Channels.newChannel(out).write(buffer); Review Comment: Sure. In a particular workload, this code path was about 30% of CPU usage in flamegraphs. It is now 2-3% after a local patch. This hasn't been discussed in dev- its just an attempt to upstream a small performance improvement. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: jira-unsubscr...@kafka.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org