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


Reply via email to