squah-confluent opened a new pull request, #17285:
URL: https://github.com/apache/kafka/pull/17285

   Looking up topics in a TopicsImage is relatively slow. Cache the results
   in TopicIds to improve assignor performance. In benchmarks, we see a
   noticeable improvement in performance in the 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   36.400 ± 3.004  ms/op
   ServerSideAssignorBenchmark.doAssignment             INCREMENTAL           
RANGE          false          10000                         10       
HETEROGENEOUS          1000  avgt    5  158.340 ± 0.825  ms/op
   ServerSideAssignorBenchmark.doAssignment             INCREMENTAL         
UNIFORM          false          10000                         10         
HOMOGENEOUS          1000  avgt    5    1.329 ± 0.041  ms/op
   ServerSideAssignorBenchmark.doAssignment             INCREMENTAL         
UNIFORM          false          10000                         10       
HETEROGENEOUS          1000  avgt    5  382.901 ± 6.203  ms/op
   ```
   
   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   36.465 ± 1.954  ms/op
   ServerSideAssignorBenchmark.doAssignment             INCREMENTAL           
RANGE          false          10000                         10       
HETEROGENEOUS          1000  avgt    5  114.043 ± 1.424  ms/op
   ServerSideAssignorBenchmark.doAssignment             INCREMENTAL         
UNIFORM          false          10000                         10         
HOMOGENEOUS          1000  avgt    5    1.454 ± 0.019  ms/op
   ServerSideAssignorBenchmark.doAssignment             INCREMENTAL         
UNIFORM          false          10000                         10       
HETEROGENEOUS          1000  avgt    5  342.840 ± 2.744  ms/op
   ```
   
   ### 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