chia7712 commented on pull request #9401: URL: https://github.com/apache/kafka/pull/9401#issuecomment-728812062
@hachikuji @ijuma It seems to me the root cause of regression is caused by the conversion between old data struct and auto-generated protocol. As we all care for performance, I address more improvements (they were viewed as follow-up before) in this PR. There are 5 possible improvements. 1. - [x] git rid of struct allocation 1. - [x] rewrite RequestUtils.hasTransactionalRecords & RequestUtils.hasIdempotentRecords to avoid duplicate loop and record instantiation (thanks to @hachikuji) 1. - [x] Sender#sendProduceRequest should use auto-generated protocol directly (thanks to @dajac) 1. - [ ] Replace ProduceResponse.PartitionResponse by auto-generated PartitionProduceResponse (https://issues.apache.org/jira/browse/KAFKA-10709) 1. - [ ] KafkaApis#handleProduceRequest should use auto-generated protocol (https://issues.apache.org/jira/browse/KAFKA-10730) The recent commits include only 1, 2, and 3 since they touch fewer code. I also re-run all perf tests and all tests cases show better throughput with current PR even if 4. and 5. are not included. ---------------------------------------------------------------- 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org