dajac opened a new pull request, #16527:
URL: https://github.com/apache/kafka/pull/16527

   This is just a prototype at this stage. Resolving topic names to topic ids 
in the assignors, especially in the heterogeneous case, is quite expensive. 
This patch adds a cache in front of the resolution. The results show that it 
reduces significantly the runtime of the assignors in heterogeneous case.
   
   Before
   ```
   Benchmark                                       (assignmentType)  
(assignorType)  (isRackAware)  (memberCount)  (partitionsToMemberRatio)  
(subscriptionType)  (topicCount)  Mode  Cnt    Score   Error  Units
   ServerSideAssignorBenchmark.doAssignment             INCREMENTAL           
RANGE          false          10000                         10         
HOMOGENEOUS          1000  avgt    5   32.267 ± 1.020  ms/op
   ServerSideAssignorBenchmark.doAssignment             INCREMENTAL           
RANGE          false          10000                         10       
HETEROGENEOUS          1000  avgt    5  181.725 ± 1.464  ms/op
   ServerSideAssignorBenchmark.doAssignment             INCREMENTAL         
UNIFORM          false          10000                         10         
HOMOGENEOUS          1000  avgt    5    2.457 ± 0.147  ms/op
   ServerSideAssignorBenchmark.doAssignment             INCREMENTAL         
UNIFORM          false          10000                         10       
HETEROGENEOUS          1000  avgt    5  318.835 ± 2.517  ms/op
   JMH benchmarks done
   ```
   
   After
   ```
   Benchmark                                       (assignmentType)  
(assignorType)  (isRackAware)  (memberCount)  (partitionsToMemberRatio)  
(subscriptionType)  (topicCount)  Mode  Cnt    Score    Error  Units
   ServerSideAssignorBenchmark.doAssignment             INCREMENTAL           
RANGE          false          10000                         10         
HOMOGENEOUS          1000  avgt    5   32.734 ±  2.146  ms/op
   ServerSideAssignorBenchmark.doAssignment             INCREMENTAL           
RANGE          false          10000                         10       
HETEROGENEOUS          1000  avgt    5  117.596 ±  4.650  ms/op
   ServerSideAssignorBenchmark.doAssignment             INCREMENTAL         
UNIFORM          false          10000                         10         
HOMOGENEOUS          1000  avgt    5    2.472 ±  0.137  ms/op
   ServerSideAssignorBenchmark.doAssignment             INCREMENTAL         
UNIFORM          false          10000                         10       
HETEROGENEOUS          1000  avgt    5  292.808 ± 21.007  ms/op
   JMH benchmarks done
   ```
   
   ### Committer Checklist (excluded from commit message)
   - [ ] Verify design and implementation 
   - [ ] Verify test coverage and CI build status
   - [ ] Verify documentation (including upgrade notes)
   


-- 
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

Reply via email to