chia7712 edited a comment 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 (thanks to @hachikuji) 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 though 4. and 5. are not included.~ Most of test cases show good improvements. By the contrast, the other tests (single partition + single producer) get insignificant improvement. However, it seems to me they can get good benefited by remaining improvement (4 and 5) ---------------------------------------------------------------- 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