kafka icon indicating copy to clipboard operation
kafka copied to clipboard

KAFKA-19909: Add rack awareness assignment to UniformHomogeneousAssignmentBuilder

Open FrankYang0529 opened this issue 6 months ago • 7 comments

Support rack awareness in UniformHomogeneousAssignmentBuilder. The goal is balance > rack awareness > stickiness.

Step 1: Check whether to use rack awareness strategy.

Using rack awareness strategy only if member racks and partition racks overlap and not all partitions have the same set of racks. If we don't need to use rack awareness strategy, we don't do rack check for further steps.

Step 2: Revoke partitions.

Revoke partitions if a member doesn't have enough quota or member and partition racks are mismatched.

Step 3: Assign partitions based on rack awareness.

We only run step 3 if step 1 is true. Go through unassigned partitions and assign them to members which have enough quota and matched racks.

Step 4: Assign remaining partitions.

Assign remaining partitions based on unfilled quota on each members.

FrankYang0529 avatar Jun 19 '25 14:06 FrankYang0529

This PR is being marked as stale since it has not had any activity in 90 days. If you would like to keep this PR alive, please leave a comment asking for a review. If the PR has merge conflicts, update it with the latest from the base branch.

If you are having difficulty finding a reviewer, please reach out on the [mailing list](https://kafka.apache.org/contact).

If this PR is no longer valid or desired, please feel free to close it. If no activity occurs in the next 30 days, it will be automatically closed.

github-actions[bot] avatar Sep 25 '25 03:09 github-actions[bot]

@FrankYang0529 Thanks for the patch! Have you already tried to run the micro-benchmarks? The performance of the assignors is critical so we must take a performance driven approach.

dajac avatar Nov 23 '25 08:11 dajac

I did some tests, but the performance is not good. I will try to improve it tomorrow.

PR: Uniform Homogeneous rack awareness vs non rack awareness
Benchmark                                 (assignmentType)  (assignorType)  (isRackAware)  (memberCount)  (partitionsToMemberRatio)  (subscriptionType)  (topicCount)  Mode  Cnt       Score         Error  Units
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            100                          5         HOMOGENEOUS            10  avgt    3       0.165 ±       0.018  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            100                          5         HOMOGENEOUS           100  avgt    3       0.226 ±       0.014  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            100                          5         HOMOGENEOUS          1000  avgt    3       0.193 ±       0.002  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            100                         10         HOMOGENEOUS            10  avgt    3       0.356 ±       0.004  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            100                         10         HOMOGENEOUS           100  avgt    3       0.579 ±       0.065  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            100                         10         HOMOGENEOUS          1000  avgt    3       0.751 ±       0.027  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            100                         50         HOMOGENEOUS            10  avgt    3       3.419 ±       0.731  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            100                         50         HOMOGENEOUS           100  avgt    3       3.103 ±       0.156  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            100                         50         HOMOGENEOUS          1000  avgt    3       5.613 ±       0.173  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            500                          5         HOMOGENEOUS            10  avgt    3       0.918 ±       0.091  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            500                          5         HOMOGENEOUS           100  avgt    3       1.061 ±       0.041  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            500                          5         HOMOGENEOUS          1000  avgt    3       1.446 ±       0.122  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            500                         10         HOMOGENEOUS            10  avgt    3       2.013 ±       0.088  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            500                         10         HOMOGENEOUS           100  avgt    3       2.159 ±       0.014  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            500                         10         HOMOGENEOUS          1000  avgt    3       3.517 ±       0.118  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            500                         50         HOMOGENEOUS            10  avgt    3      15.173 ±       1.107  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            500                         50         HOMOGENEOUS           100  avgt    3      14.322 ±       0.220  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            500                         50         HOMOGENEOUS          1000  avgt    3      17.719 ±       0.493  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           1000                          5         HOMOGENEOUS            10  avgt    3       1.901 ±       0.022  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           1000                          5         HOMOGENEOUS           100  avgt    3       2.160 ±       0.064  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           1000                          5         HOMOGENEOUS          1000  avgt    3       3.138 ±       0.173  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           1000                         10         HOMOGENEOUS            10  avgt    3       4.088 ±       0.155  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           1000                         10         HOMOGENEOUS           100  avgt    3       4.244 ±       0.178  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           1000                         10         HOMOGENEOUS          1000  avgt    3       5.709 ±       0.216  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           1000                         50         HOMOGENEOUS            10  avgt    3      29.446 ±       0.808  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           1000                         50         HOMOGENEOUS           100  avgt    3      29.590 ±       4.388  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           1000                         50         HOMOGENEOUS          1000  avgt    3      32.745 ±       4.681  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           5000                          5         HOMOGENEOUS            10  avgt    3       9.996 ±       0.163  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           5000                          5         HOMOGENEOUS           100  avgt    3      10.681 ±       1.248  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           5000                          5         HOMOGENEOUS          1000  avgt    3      13.506 ±       1.112  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           5000                         10         HOMOGENEOUS            10  avgt    3      22.796 ±       0.051  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           5000                         10         HOMOGENEOUS           100  avgt    3      23.588 ±       1.064  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           5000                         10         HOMOGENEOUS          1000  avgt    3      26.137 ±       0.753  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           5000                         50         HOMOGENEOUS            10  avgt    3     156.698 ±      18.720  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           5000                         50         HOMOGENEOUS           100  avgt    3     156.527 ±      37.254  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           5000                         50         HOMOGENEOUS          1000  avgt    3     161.970 ±       8.972  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true          10000                          5         HOMOGENEOUS            10  avgt    3      22.437 ±       2.884  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true          10000                          5         HOMOGENEOUS           100  avgt    3      23.477 ±       1.336  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true          10000                          5         HOMOGENEOUS          1000  avgt    3      26.477 ±       0.529  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true          10000                         10         HOMOGENEOUS            10  avgt    3      46.589 ±       1.242  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true          10000                         10         HOMOGENEOUS           100  avgt    3      48.857 ±       1.695  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true          10000                         10         HOMOGENEOUS          1000  avgt    3      55.408 ±       2.666  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true          10000                         50         HOMOGENEOUS            10  avgt    3     411.637 ±     176.259  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true          10000                         50         HOMOGENEOUS           100  avgt    3     413.910 ±     322.952  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true          10000                         50         HOMOGENEOUS          1000  avgt    3     408.131 ±     114.454  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            100                          5         HOMOGENEOUS            10  avgt    3       0.127 ±       0.009  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            100                          5         HOMOGENEOUS           100  avgt    3       0.137 ±       0.010  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            100                          5         HOMOGENEOUS          1000  avgt    3       0.192 ±       0.004  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            100                         10         HOMOGENEOUS            10  avgt    3       0.359 ±       0.024  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            100                         10         HOMOGENEOUS           100  avgt    3       0.389 ±       0.023  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            100                         10         HOMOGENEOUS          1000  avgt    3       0.708 ±       0.050  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            100                         50         HOMOGENEOUS            10  avgt    3       7.417 ±       3.548  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            100                         50         HOMOGENEOUS           100  avgt    3       7.428 ±       2.254  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            100                         50         HOMOGENEOUS          1000  avgt    3       8.068 ±       0.922  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            500                          5         HOMOGENEOUS            10  avgt    3       2.041 ±       0.266  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            500                          5         HOMOGENEOUS           100  avgt    3       2.051 ±       0.567  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            500                          5         HOMOGENEOUS          1000  avgt    3       1.788 ±       0.254  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            500                         10         HOMOGENEOUS            10  avgt    3       7.503 ±       4.101  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            500                         10         HOMOGENEOUS           100  avgt    3       8.322 ±      20.523  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            500                         10         HOMOGENEOUS          1000  avgt    3       8.541 ±       7.066  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            500                         50         HOMOGENEOUS            10  avgt    3     163.240 ±       5.718  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            500                         50         HOMOGENEOUS           100  avgt    3     167.479 ±       2.537  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            500                         50         HOMOGENEOUS          1000  avgt    3     175.222 ±      95.158  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           1000                          5         HOMOGENEOUS            10  avgt    3       7.384 ±       1.966  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           1000                          5         HOMOGENEOUS           100  avgt    3       7.363 ±       0.268  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           1000                          5         HOMOGENEOUS          1000  avgt    3       8.248 ±       1.138  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           1000                         10         HOMOGENEOUS            10  avgt    3      27.669 ±       4.061  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           1000                         10         HOMOGENEOUS           100  avgt    3      28.358 ±       4.971  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           1000                         10         HOMOGENEOUS          1000  avgt    3      28.679 ±       6.798  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           1000                         50         HOMOGENEOUS            10  avgt    3     693.884 ±     807.232  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           1000                         50         HOMOGENEOUS           100  avgt    3     676.847 ±     245.890  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           1000                         50         HOMOGENEOUS          1000  avgt    3     701.461 ±     109.470  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           5000                          5         HOMOGENEOUS            10  avgt    3     166.513 ±      27.632  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           5000                          5         HOMOGENEOUS           100  avgt    3     164.858 ±      24.910  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           5000                          5         HOMOGENEOUS          1000  avgt    3     170.069 ±      48.268  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           5000                         10         HOMOGENEOUS            10  avgt    3     650.220 ±     117.987  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           5000                         10         HOMOGENEOUS           100  avgt    3     653.400 ±      59.516  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           5000                         10         HOMOGENEOUS          1000  avgt    3     704.379 ±      62.937  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           5000                         50         HOMOGENEOUS            10  avgt    3   24003.712 ±  220342.240  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           5000                         50         HOMOGENEOUS           100  avgt    3   17441.325 ±    2096.336  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           5000                         50         HOMOGENEOUS          1000  avgt    3   20280.218 ±     560.296  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false          10000                          5         HOMOGENEOUS            10  avgt    3     648.507 ±      50.568  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false          10000                          5         HOMOGENEOUS           100  avgt    3     664.885 ±     130.266  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false          10000                          5         HOMOGENEOUS          1000  avgt    3     706.711 ±      91.656  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false          10000                         10         HOMOGENEOUS            10  avgt    3    2672.716 ±     119.029  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false          10000                         10         HOMOGENEOUS           100  avgt    3    2728.937 ±     403.105  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false          10000                         10         HOMOGENEOUS          1000  avgt    3    3531.785 ±     569.794  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false          10000                         50         HOMOGENEOUS            10  avgt    3   70054.147 ±    6368.403  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false          10000                         50         HOMOGENEOUS           100  avgt    3  106756.167 ± 1146857.294  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false          10000                         50         HOMOGENEOUS          1000  avgt    3   76081.618 ±    1950.366  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            100                          5         HOMOGENEOUS            10  avgt    3       0.101 ±       0.007  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            100                          5         HOMOGENEOUS           100  avgt    3       0.126 ±       0.002  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            100                          5         HOMOGENEOUS          1000  avgt    3       0.194 ±       0.014  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            100                         10         HOMOGENEOUS            10  avgt    3       0.180 ±       0.015  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            100                         10         HOMOGENEOUS           100  avgt    3       0.272 ±       0.016  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            100                         10         HOMOGENEOUS          1000  avgt    3       0.519 ±       0.017  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            100                         50         HOMOGENEOUS            10  avgt    3       1.307 ±       0.265  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            100                         50         HOMOGENEOUS           100  avgt    3       1.434 ±       0.066  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            100                         50         HOMOGENEOUS          1000  avgt    3       2.357 ±       0.158  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            500                          5         HOMOGENEOUS            10  avgt    3       0.553 ±       0.021  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            500                          5         HOMOGENEOUS           100  avgt    3       0.749 ±       0.033  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            500                          5         HOMOGENEOUS          1000  avgt    3       1.136 ±       0.094  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            500                         10         HOMOGENEOUS            10  avgt    3       1.240 ±       0.064  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            500                         10         HOMOGENEOUS           100  avgt    3       1.440 ±       0.106  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            500                         10         HOMOGENEOUS          1000  avgt    3       2.236 ±       0.060  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            500                         50         HOMOGENEOUS            10  avgt    3       6.398 ±       0.221  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            500                         50         HOMOGENEOUS           100  avgt    3       6.745 ±       0.536  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            500                         50         HOMOGENEOUS          1000  avgt    3       8.348 ±       0.423  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           1000                          5         HOMOGENEOUS            10  avgt    3       1.204 ±       0.049  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           1000                          5         HOMOGENEOUS           100  avgt    3       1.524 ±       0.051  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           1000                          5         HOMOGENEOUS          1000  avgt    3       2.350 ±       0.025  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           1000                         10         HOMOGENEOUS            10  avgt    3       2.402 ±       0.411  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           1000                         10         HOMOGENEOUS           100  avgt    3       2.752 ±       0.553  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           1000                         10         HOMOGENEOUS          1000  avgt    3       3.846 ±       0.058  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           1000                         50         HOMOGENEOUS            10  avgt    3      15.151 ±       0.220  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           1000                         50         HOMOGENEOUS           100  avgt    3      15.838 ±       0.779  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           1000                         50         HOMOGENEOUS          1000  avgt    3      17.195 ±       0.921  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           5000                          5         HOMOGENEOUS            10  avgt    3       7.198 ±       0.539  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           5000                          5         HOMOGENEOUS           100  avgt    3       7.638 ±       0.336  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           5000                          5         HOMOGENEOUS          1000  avgt    3       9.895 ±       0.760  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           5000                         10         HOMOGENEOUS            10  avgt    3      16.996 ±       1.190  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           5000                         10         HOMOGENEOUS           100  avgt    3      17.547 ±       1.435  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           5000                         10         HOMOGENEOUS          1000  avgt    3      20.270 ±       0.366  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           5000                         50         HOMOGENEOUS            10  avgt    3      87.308 ±       5.638  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           5000                         50         HOMOGENEOUS           100  avgt    3      86.085 ±       2.724  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           5000                         50         HOMOGENEOUS          1000  avgt    3      88.245 ±       3.395  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true          10000                          5         HOMOGENEOUS            10  avgt    3      18.438 ±       1.080  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true          10000                          5         HOMOGENEOUS           100  avgt    3      21.214 ±       0.743  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true          10000                          5         HOMOGENEOUS          1000  avgt    3      21.506 ±       1.782  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true          10000                         10         HOMOGENEOUS            10  avgt    3      35.325 ±       3.618  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true          10000                         10         HOMOGENEOUS           100  avgt    3      37.790 ±       2.862  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true          10000                         10         HOMOGENEOUS          1000  avgt    3      40.835 ±       4.413  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true          10000                         50         HOMOGENEOUS            10  avgt    3     198.002 ±      29.113  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true          10000                         50         HOMOGENEOUS           100  avgt    3     187.416 ±      16.549  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true          10000                         50         HOMOGENEOUS          1000  avgt    3     200.683 ±      30.317  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            100                          5         HOMOGENEOUS            10  avgt    3       0.054 ±       0.003  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            100                          5         HOMOGENEOUS           100  avgt    3       0.076 ±       0.004  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            100                          5         HOMOGENEOUS          1000  avgt    3       0.194 ±       0.003  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            100                         10         HOMOGENEOUS            10  avgt    3       0.115 ±       0.026  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            100                         10         HOMOGENEOUS           100  avgt    3       0.147 ±       0.022  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            100                         10         HOMOGENEOUS          1000  avgt    3       0.473 ±       0.018  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            100                         50         HOMOGENEOUS            10  avgt    3       0.695 ±       0.096  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            100                         50         HOMOGENEOUS           100  avgt    3       0.958 ±       0.151  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            100                         50         HOMOGENEOUS          1000  avgt    3       1.479 ±       0.065  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            500                          5         HOMOGENEOUS            10  avgt    3       0.339 ±       0.094  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            500                          5         HOMOGENEOUS           100  avgt    3       0.438 ±       0.098  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            500                          5         HOMOGENEOUS          1000  avgt    3       0.750 ±       0.042  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            500                         10         HOMOGENEOUS            10  avgt    3       0.716 ±       0.048  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            500                         10         HOMOGENEOUS           100  avgt    3       0.934 ±       0.184  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            500                         10         HOMOGENEOUS          1000  avgt    3       1.468 ±       0.090  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            500                         50         HOMOGENEOUS            10  avgt    3       4.521 ±       0.174  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            500                         50         HOMOGENEOUS           100  avgt    3       4.821 ±       0.229  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            500                         50         HOMOGENEOUS          1000  avgt    3       5.446 ±       0.331  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           1000                          5         HOMOGENEOUS            10  avgt    3       0.767 ±       0.197  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           1000                          5         HOMOGENEOUS           100  avgt    3       0.968 ±       0.142  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           1000                          5         HOMOGENEOUS          1000  avgt    3       1.445 ±       0.059  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           1000                         10         HOMOGENEOUS            10  avgt    3       1.851 ±       0.155  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           1000                         10         HOMOGENEOUS           100  avgt    3       1.750 ±       0.079  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           1000                         10         HOMOGENEOUS          1000  avgt    3       2.435 ±       0.123  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           1000                         50         HOMOGENEOUS            10  avgt    3      10.189 ±       0.544  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           1000                         50         HOMOGENEOUS           100  avgt    3      10.004 ±       0.571  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           1000                         50         HOMOGENEOUS          1000  avgt    3      11.589 ±       0.342  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           5000                          5         HOMOGENEOUS            10  avgt    3       4.666 ±       0.578  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           5000                          5         HOMOGENEOUS           100  avgt    3       4.691 ±       0.040  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           5000                          5         HOMOGENEOUS          1000  avgt    3       6.703 ±       0.164  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           5000                         10         HOMOGENEOUS            10  avgt    3       9.500 ±       0.843  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           5000                         10         HOMOGENEOUS           100  avgt    3       9.881 ±       0.686  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           5000                         10         HOMOGENEOUS          1000  avgt    3      11.085 ±       0.649  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           5000                         50         HOMOGENEOUS            10  avgt    3      48.940 ±       0.428  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           5000                         50         HOMOGENEOUS           100  avgt    3      51.808 ±       1.144  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           5000                         50         HOMOGENEOUS          1000  avgt    3      50.006 ±       3.312  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false          10000                          5         HOMOGENEOUS            10  avgt    3      10.349 ±       0.270  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false          10000                          5         HOMOGENEOUS           100  avgt    3      10.552 ±       0.211  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false          10000                          5         HOMOGENEOUS          1000  avgt    3      12.263 ±       0.729  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false          10000                         10         HOMOGENEOUS            10  avgt    3      20.874 ±       0.689  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false          10000                         10         HOMOGENEOUS           100  avgt    3      21.056 ±       0.564  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false          10000                         10         HOMOGENEOUS          1000  avgt    3      22.521 ±       2.021  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false          10000                         50         HOMOGENEOUS            10  avgt    3     116.935 ±       8.767  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false          10000                         50         HOMOGENEOUS           100  avgt    3     116.575 ±      85.234  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false          10000                         50         HOMOGENEOUS          1000  avgt    3     119.731 ±      79.103  ms/op
JMH benchmarks done
Trunk: Uniform Homogeneous non rack awareness
Benchmark                                 (assignmentType)  (assignorType)  (isRackAware)  (memberCount)  (partitionsToMemberRatio)  (subscriptionType)  (topicCount)  Mode  Cnt   Score    Error  Units
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            100                          5         HOMOGENEOUS            10  avgt    3   0.013 ±  0.001  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            100                          5         HOMOGENEOUS           100  avgt    3   0.018 ±  0.001  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            100                          5         HOMOGENEOUS          1000  avgt    3   0.116 ±  0.009  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            100                         10         HOMOGENEOUS            10  avgt    3   0.019 ±  0.002  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            100                         10         HOMOGENEOUS           100  avgt    3   0.025 ±  0.002  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            100                         10         HOMOGENEOUS          1000  avgt    3   0.168 ±  0.002  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            100                         50         HOMOGENEOUS            10  avgt    3   0.099 ±  0.004  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            100                         50         HOMOGENEOUS           100  avgt    3   0.101 ±  0.013  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            100                         50         HOMOGENEOUS          1000  avgt    3   0.241 ±  0.004  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            500                          5         HOMOGENEOUS            10  avgt    3   0.062 ±  0.002  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            500                          5         HOMOGENEOUS           100  avgt    3   0.067 ±  0.007  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            500                          5         HOMOGENEOUS          1000  avgt    3   0.204 ±  0.012  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            500                         10         HOMOGENEOUS            10  avgt    3   0.102 ±  0.002  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            500                         10         HOMOGENEOUS           100  avgt    3   0.107 ±  0.029  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            500                         10         HOMOGENEOUS          1000  avgt    3   0.258 ±  0.028  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            500                         50         HOMOGENEOUS            10  avgt    3   0.563 ±  0.039  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            500                         50         HOMOGENEOUS           100  avgt    3   0.531 ±  0.048  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            500                         50         HOMOGENEOUS          1000  avgt    3   0.697 ±  0.022  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           1000                          5         HOMOGENEOUS            10  avgt    3   0.133 ±  0.012  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           1000                          5         HOMOGENEOUS           100  avgt    3   0.137 ±  0.002  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           1000                          5         HOMOGENEOUS          1000  avgt    3   0.276 ±  0.020  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           1000                         10         HOMOGENEOUS            10  avgt    3   0.216 ±  0.051  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           1000                         10         HOMOGENEOUS           100  avgt    3   0.219 ±  0.017  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           1000                         10         HOMOGENEOUS          1000  avgt    3   0.374 ±  0.002  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           1000                         50         HOMOGENEOUS            10  avgt    3   0.984 ±  0.013  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           1000                         50         HOMOGENEOUS           100  avgt    3   0.929 ±  0.069  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           1000                         50         HOMOGENEOUS          1000  avgt    3   1.253 ±  0.082  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           5000                          5         HOMOGENEOUS            10  avgt    3   0.724 ±  0.106  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           5000                          5         HOMOGENEOUS           100  avgt    3   0.791 ±  0.032  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           5000                          5         HOMOGENEOUS          1000  avgt    3   1.030 ±  0.035  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           5000                         10         HOMOGENEOUS            10  avgt    3   1.176 ±  0.035  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           5000                         10         HOMOGENEOUS           100  avgt    3   1.259 ±  0.064  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           5000                         10         HOMOGENEOUS          1000  avgt    3   1.442 ±  0.049  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           5000                         50         HOMOGENEOUS            10  avgt    3   5.530 ±  0.348  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           5000                         50         HOMOGENEOUS           100  avgt    3   5.666 ±  0.284  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           5000                         50         HOMOGENEOUS          1000  avgt    3   6.010 ±  0.550  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false          10000                          5         HOMOGENEOUS            10  avgt    3   1.430 ±  0.010  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false          10000                          5         HOMOGENEOUS           100  avgt    3   1.616 ±  0.142  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false          10000                          5         HOMOGENEOUS          1000  avgt    3   1.949 ±  0.190  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false          10000                         10         HOMOGENEOUS            10  avgt    3   2.220 ±  0.163  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false          10000                         10         HOMOGENEOUS           100  avgt    3   2.500 ±  0.350  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false          10000                         10         HOMOGENEOUS          1000  avgt    3   2.718 ±  0.149  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false          10000                         50         HOMOGENEOUS            10  avgt    3  10.003 ±  0.298  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false          10000                         50         HOMOGENEOUS           100  avgt    3  10.376 ±  0.355  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false          10000                         50         HOMOGENEOUS          1000  avgt    3  12.305 ±  1.321  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            100                          5         HOMOGENEOUS            10  avgt    3   0.006 ±  0.001  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            100                          5         HOMOGENEOUS           100  avgt    3   0.012 ±  0.001  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            100                          5         HOMOGENEOUS          1000  avgt    3   0.123 ±  0.002  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            100                         10         HOMOGENEOUS            10  avgt    3   0.009 ±  0.001  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            100                         10         HOMOGENEOUS           100  avgt    3   0.016 ±  0.001  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            100                         10         HOMOGENEOUS          1000  avgt    3   0.157 ±  0.003  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            100                         50         HOMOGENEOUS            10  avgt    3   0.061 ±  0.009  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            100                         50         HOMOGENEOUS           100  avgt    3   0.055 ±  0.006  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            100                         50         HOMOGENEOUS          1000  avgt    3   0.243 ±  0.002  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            500                          5         HOMOGENEOUS            10  avgt    3   0.027 ±  0.001  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            500                          5         HOMOGENEOUS           100  avgt    3   0.033 ±  0.001  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            500                          5         HOMOGENEOUS          1000  avgt    3   0.189 ±  0.011  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            500                         10         HOMOGENEOUS            10  avgt    3   0.042 ±  0.003  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            500                         10         HOMOGENEOUS           100  avgt    3   0.045 ±  0.003  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            500                         10         HOMOGENEOUS          1000  avgt    3   0.221 ±  0.011  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            500                         50         HOMOGENEOUS            10  avgt    3   0.195 ±  0.130  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            500                         50         HOMOGENEOUS           100  avgt    3   0.203 ±  0.169  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            500                         50         HOMOGENEOUS          1000  avgt    3   0.384 ±  0.047  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           1000                          5         HOMOGENEOUS            10  avgt    3   0.062 ±  0.019  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           1000                          5         HOMOGENEOUS           100  avgt    3   0.062 ±  0.003  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           1000                          5         HOMOGENEOUS          1000  avgt    3   0.221 ±  0.010  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           1000                         10         HOMOGENEOUS            10  avgt    3   0.102 ±  0.063  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           1000                         10         HOMOGENEOUS           100  avgt    3   0.091 ±  0.010  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           1000                         10         HOMOGENEOUS          1000  avgt    3   0.262 ±  0.031  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           1000                         50         HOMOGENEOUS            10  avgt    3   0.336 ±  0.011  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           1000                         50         HOMOGENEOUS           100  avgt    3   0.398 ±  0.095  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           1000                         50         HOMOGENEOUS          1000  avgt    3   0.518 ±  0.021  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           5000                          5         HOMOGENEOUS            10  avgt    3   0.368 ±  0.029  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           5000                          5         HOMOGENEOUS           100  avgt    3   0.387 ±  0.023  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           5000                          5         HOMOGENEOUS          1000  avgt    3   0.612 ±  0.054  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           5000                         10         HOMOGENEOUS            10  avgt    3   0.512 ±  0.190  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           5000                         10         HOMOGENEOUS           100  avgt    3   0.561 ±  0.073  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           5000                         10         HOMOGENEOUS          1000  avgt    3   0.745 ±  0.104  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           5000                         50         HOMOGENEOUS            10  avgt    3   1.780 ±  0.157  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           5000                         50         HOMOGENEOUS           100  avgt    3   2.043 ±  0.096  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           5000                         50         HOMOGENEOUS          1000  avgt    3   2.152 ±  0.182  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false          10000                          5         HOMOGENEOUS            10  avgt    3   0.748 ±  0.080  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false          10000                          5         HOMOGENEOUS           100  avgt    3   0.746 ±  0.050  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false          10000                          5         HOMOGENEOUS          1000  avgt    3   0.984 ±  0.130  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false          10000                         10         HOMOGENEOUS            10  avgt    3   0.977 ±  0.098  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false          10000                         10         HOMOGENEOUS           100  avgt    3   0.989 ±  0.084  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false          10000                         10         HOMOGENEOUS          1000  avgt    3   1.277 ±  0.056  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false          10000                         50         HOMOGENEOUS            10  avgt    3   6.573 ±  0.638  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false          10000                         50         HOMOGENEOUS           100  avgt    3   5.426 ±  0.431  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false          10000                         50         HOMOGENEOUS          1000  avgt    3   5.778 ±  0.643  ms/op
JMH benchmarks done

FrankYang0529 avatar Nov 24 '25 15:11 FrankYang0529

New commit improves performance a little, but overall it's still not good. I will try other ways tomorrow.

PR: Uniform Homogeneous rack awareness vs non rack awareness
Benchmark                                 (assignmentType)  (assignorType)  (isRackAware)  (memberCount)  (partitionsToMemberRatio)  (subscriptionType)  (topicCount)  Mode  Cnt       Score         Error  Units
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            100                          5         HOMOGENEOUS            10  avgt    3       0.109 ±       0.004  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            100                          5         HOMOGENEOUS           100  avgt    3       0.147 ±       0.014  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            100                          5         HOMOGENEOUS          1000  avgt    3       0.189 ±       0.011  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            100                         10         HOMOGENEOUS            10  avgt    3       0.247 ±       0.020  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            100                         10         HOMOGENEOUS           100  avgt    3       0.358 ±       0.007  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            100                         10         HOMOGENEOUS          1000  avgt    3       0.717 ±       0.060  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            100                         50         HOMOGENEOUS            10  avgt    3       2.699 ±       0.152  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            100                         50         HOMOGENEOUS           100  avgt    3       2.406 ±       0.148  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            100                         50         HOMOGENEOUS          1000  avgt    3       4.689 ±       0.283  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            500                          5         HOMOGENEOUS            10  avgt    3       0.618 ±       0.051  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            500                          5         HOMOGENEOUS           100  avgt    3       0.831 ±       0.041  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            500                          5         HOMOGENEOUS          1000  avgt    3       1.007 ±       0.009  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            500                         10         HOMOGENEOUS            10  avgt    3       1.377 ±       0.138  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            500                         10         HOMOGENEOUS           100  avgt    3       1.806 ±       0.043  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            500                         10         HOMOGENEOUS          1000  avgt    3       3.020 ±       0.192  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            500                         50         HOMOGENEOUS            10  avgt    3      11.132 ±       0.252  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            500                         50         HOMOGENEOUS           100  avgt    3      15.998 ±       1.364  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            500                         50         HOMOGENEOUS          1000  avgt    3      14.395 ±       0.723  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           1000                          5         HOMOGENEOUS            10  avgt    3       1.525 ±       0.012  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           1000                          5         HOMOGENEOUS           100  avgt    3       1.700 ±       0.080  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           1000                          5         HOMOGENEOUS          1000  avgt    3       2.489 ±       0.203  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           1000                         10         HOMOGENEOUS            10  avgt    3       2.732 ±       0.125  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           1000                         10         HOMOGENEOUS           100  avgt    3       3.851 ±       0.326  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           1000                         10         HOMOGENEOUS          1000  avgt    3       4.919 ±       0.145  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           1000                         50         HOMOGENEOUS            10  avgt    3      27.530 ±       1.599  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           1000                         50         HOMOGENEOUS           100  avgt    3      29.975 ±       3.310  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           1000                         50         HOMOGENEOUS          1000  avgt    3      24.955 ±       0.373  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           5000                          5         HOMOGENEOUS            10  avgt    3       8.157 ±       0.589  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           5000                          5         HOMOGENEOUS           100  avgt    3       8.828 ±       0.521  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           5000                          5         HOMOGENEOUS          1000  avgt    3       9.137 ±       0.636  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           5000                         10         HOMOGENEOUS            10  avgt    3      17.922 ±       0.576  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           5000                         10         HOMOGENEOUS           100  avgt    3      19.809 ±       1.169  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           5000                         10         HOMOGENEOUS          1000  avgt    3      21.839 ±       0.437  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           5000                         50         HOMOGENEOUS            10  avgt    3     147.300 ±       4.528  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           5000                         50         HOMOGENEOUS           100  avgt    3     146.119 ±      13.224  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           5000                         50         HOMOGENEOUS          1000  avgt    3     121.872 ±      10.392  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true          10000                          5         HOMOGENEOUS            10  avgt    3      17.087 ±       1.196  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true          10000                          5         HOMOGENEOUS           100  avgt    3      17.843 ±       0.296  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true          10000                          5         HOMOGENEOUS          1000  avgt    3      20.905 ±       1.484  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true          10000                         10         HOMOGENEOUS            10  avgt    3      36.352 ±       0.701  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true          10000                         10         HOMOGENEOUS           100  avgt    3      40.412 ±       2.232  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true          10000                         10         HOMOGENEOUS          1000  avgt    3      43.458 ±       3.973  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true          10000                         50         HOMOGENEOUS            10  avgt    3     392.331 ±     355.153  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true          10000                         50         HOMOGENEOUS           100  avgt    3     387.321 ±     176.854  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true          10000                         50         HOMOGENEOUS          1000  avgt    3     387.398 ±     224.956  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            100                          5         HOMOGENEOUS            10  avgt    3       0.113 ±       0.006  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            100                          5         HOMOGENEOUS           100  avgt    3       0.133 ±       0.007  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            100                          5         HOMOGENEOUS          1000  avgt    3       0.192 ±       0.009  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            100                         10         HOMOGENEOUS            10  avgt    3       0.341 ±       0.030  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            100                         10         HOMOGENEOUS           100  avgt    3       0.380 ±       0.022  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            100                         10         HOMOGENEOUS          1000  avgt    3       0.649 ±       0.014  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            100                         50         HOMOGENEOUS            10  avgt    3       7.394 ±      10.339  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            100                         50         HOMOGENEOUS           100  avgt    3       7.865 ±       4.764  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            100                         50         HOMOGENEOUS          1000  avgt    3       8.004 ±       4.898  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            500                          5         HOMOGENEOUS            10  avgt    3       1.980 ±       0.463  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            500                          5         HOMOGENEOUS           100  avgt    3       2.078 ±       1.703  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            500                          5         HOMOGENEOUS          1000  avgt    3       1.707 ±       0.336  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            500                         10         HOMOGENEOUS            10  avgt    3       8.036 ±      19.062  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            500                         10         HOMOGENEOUS           100  avgt    3       8.404 ±      14.542  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            500                         10         HOMOGENEOUS          1000  avgt    3       7.968 ±       6.622  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            500                         50         HOMOGENEOUS            10  avgt    3     163.204 ±      20.965  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            500                         50         HOMOGENEOUS           100  avgt    3     165.526 ±      24.332  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            500                         50         HOMOGENEOUS          1000  avgt    3     169.732 ±      20.626  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           1000                          5         HOMOGENEOUS            10  avgt    3       7.375 ±       2.358  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           1000                          5         HOMOGENEOUS           100  avgt    3       7.637 ±       2.406  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           1000                          5         HOMOGENEOUS          1000  avgt    3       7.950 ±       3.952  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           1000                         10         HOMOGENEOUS            10  avgt    3      29.747 ±      31.854  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           1000                         10         HOMOGENEOUS           100  avgt    3      27.889 ±      11.915  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           1000                         10         HOMOGENEOUS          1000  avgt    3      28.640 ±       7.998  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           1000                         50         HOMOGENEOUS            10  avgt    3     735.579 ±    1790.362  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           1000                         50         HOMOGENEOUS           100  avgt    3     688.020 ±    1017.243  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           1000                         50         HOMOGENEOUS          1000  avgt    3     711.158 ±     160.371  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           5000                          5         HOMOGENEOUS            10  avgt    3     163.126 ±       6.684  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           5000                          5         HOMOGENEOUS           100  avgt    3     167.561 ±      77.446  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           5000                          5         HOMOGENEOUS          1000  avgt    3     169.062 ±      49.750  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           5000                         10         HOMOGENEOUS            10  avgt    3     665.370 ±     599.875  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           5000                         10         HOMOGENEOUS           100  avgt    3     675.975 ±     833.942  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           5000                         10         HOMOGENEOUS          1000  avgt    3     742.880 ±     396.737  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           5000                         50         HOMOGENEOUS            10  avgt    3   17116.612 ±     793.504  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           5000                         50         HOMOGENEOUS           100  avgt    3   17465.496 ±    4299.118  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           5000                         50         HOMOGENEOUS          1000  avgt    3   20306.127 ±     209.400  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false          10000                          5         HOMOGENEOUS            10  avgt    3     650.052 ±      56.283  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false          10000                          5         HOMOGENEOUS           100  avgt    3     695.871 ±     779.630  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false          10000                          5         HOMOGENEOUS          1000  avgt    3     717.341 ±      50.143  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false          10000                         10         HOMOGENEOUS            10  avgt    3    2711.630 ±    1405.499  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false          10000                         10         HOMOGENEOUS           100  avgt    3    2736.616 ±     281.777  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false          10000                         10         HOMOGENEOUS          1000  avgt    3    3548.807 ±     328.170  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false          10000                         50         HOMOGENEOUS            10  avgt    3   70550.686 ±     871.976  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false          10000                         50         HOMOGENEOUS           100  avgt    3   70501.668 ±    6455.860  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false          10000                         50         HOMOGENEOUS          1000  avgt    3  109033.202 ± 1013425.420  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            100                          5         HOMOGENEOUS            10  avgt    3       0.062 ±       0.002  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            100                          5         HOMOGENEOUS           100  avgt    3       0.097 ±       0.002  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            100                          5         HOMOGENEOUS          1000  avgt    3       0.193 ±       0.014  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            100                         10         HOMOGENEOUS            10  avgt    3       0.130 ±       0.007  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            100                         10         HOMOGENEOUS           100  avgt    3       0.187 ±       0.005  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            100                         10         HOMOGENEOUS          1000  avgt    3       0.440 ±       0.008  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            100                         50         HOMOGENEOUS            10  avgt    3       0.961 ±       0.049  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            100                         50         HOMOGENEOUS           100  avgt    3       1.253 ±       0.081  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            100                         50         HOMOGENEOUS          1000  avgt    3       1.962 ±       0.135  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            500                          5         HOMOGENEOUS            10  avgt    3       0.446 ±       0.030  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            500                          5         HOMOGENEOUS           100  avgt    3       0.569 ±       0.031  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            500                          5         HOMOGENEOUS          1000  avgt    3       0.893 ±       0.102  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            500                         10         HOMOGENEOUS            10  avgt    3       1.106 ±       0.031  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            500                         10         HOMOGENEOUS           100  avgt    3       1.205 ±       0.044  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            500                         10         HOMOGENEOUS          1000  avgt    3       2.135 ±       0.152  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            500                         50         HOMOGENEOUS            10  avgt    3       5.351 ±       0.061  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            500                         50         HOMOGENEOUS           100  avgt    3       5.918 ±       0.396  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            500                         50         HOMOGENEOUS          1000  avgt    3       7.263 ±       0.440  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           1000                          5         HOMOGENEOUS            10  avgt    3       1.159 ±       0.022  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           1000                          5         HOMOGENEOUS           100  avgt    3       1.238 ±       0.045  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           1000                          5         HOMOGENEOUS          1000  avgt    3       2.039 ±       0.054  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           1000                         10         HOMOGENEOUS            10  avgt    3       2.257 ±       0.155  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           1000                         10         HOMOGENEOUS           100  avgt    3       2.352 ±       0.108  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           1000                         10         HOMOGENEOUS          1000  avgt    3       3.478 ±       0.153  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           1000                         50         HOMOGENEOUS            10  avgt    3      11.507 ±       0.571  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           1000                         50         HOMOGENEOUS           100  avgt    3      12.419 ±       0.767  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           1000                         50         HOMOGENEOUS          1000  avgt    3      14.794 ±       0.965  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           5000                          5         HOMOGENEOUS            10  avgt    3       6.274 ±       0.151  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           5000                          5         HOMOGENEOUS           100  avgt    3       6.490 ±       0.053  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           5000                          5         HOMOGENEOUS          1000  avgt    3       7.961 ±       0.100  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           5000                         10         HOMOGENEOUS            10  avgt    3      12.512 ±       0.700  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           5000                         10         HOMOGENEOUS           100  avgt    3      13.434 ±       1.042  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           5000                         10         HOMOGENEOUS          1000  avgt    3      15.433 ±       0.061  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           5000                         50         HOMOGENEOUS            10  avgt    3      63.721 ±       5.460  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           5000                         50         HOMOGENEOUS           100  avgt    3      61.734 ±       0.866  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           5000                         50         HOMOGENEOUS          1000  avgt    3      68.744 ±       2.755  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true          10000                          5         HOMOGENEOUS            10  avgt    3      14.421 ±       1.586  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true          10000                          5         HOMOGENEOUS           100  avgt    3      14.690 ±       0.951  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true          10000                          5         HOMOGENEOUS          1000  avgt    3      17.373 ±       0.794  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true          10000                         10         HOMOGENEOUS            10  avgt    3      28.065 ±       1.536  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true          10000                         10         HOMOGENEOUS           100  avgt    3      29.225 ±       1.223  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true          10000                         10         HOMOGENEOUS          1000  avgt    3      31.332 ±       0.800  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true          10000                         50         HOMOGENEOUS            10  avgt    3     152.430 ±       6.499  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true          10000                         50         HOMOGENEOUS           100  avgt    3     151.218 ±      16.589  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true          10000                         50         HOMOGENEOUS          1000  avgt    3     163.707 ±      16.491  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            100                          5         HOMOGENEOUS            10  avgt    3       0.056 ±       0.005  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            100                          5         HOMOGENEOUS           100  avgt    3       0.071 ±       0.003  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            100                          5         HOMOGENEOUS          1000  avgt    3       0.196 ±       0.015  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            100                         10         HOMOGENEOUS            10  avgt    3       0.097 ±       0.006  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            100                         10         HOMOGENEOUS           100  avgt    3       0.130 ±       0.006  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            100                         10         HOMOGENEOUS          1000  avgt    3       0.390 ±       0.011  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            100                         50         HOMOGENEOUS            10  avgt    3       0.539 ±       0.073  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            100                         50         HOMOGENEOUS           100  avgt    3       0.687 ±       0.052  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            100                         50         HOMOGENEOUS          1000  avgt    3       1.138 ±       0.081  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            500                          5         HOMOGENEOUS            10  avgt    3       0.278 ±       0.120  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            500                          5         HOMOGENEOUS           100  avgt    3       0.336 ±       0.106  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            500                          5         HOMOGENEOUS          1000  avgt    3       0.651 ±       0.023  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            500                         10         HOMOGENEOUS            10  avgt    3       0.498 ±       0.046  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            500                         10         HOMOGENEOUS           100  avgt    3       0.586 ±       0.024  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            500                         10         HOMOGENEOUS          1000  avgt    3       1.171 ±       0.042  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            500                         50         HOMOGENEOUS            10  avgt    3       3.137 ±       0.135  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            500                         50         HOMOGENEOUS           100  avgt    3       3.276 ±       0.049  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            500                         50         HOMOGENEOUS          1000  avgt    3       4.184 ±       0.244  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           1000                          5         HOMOGENEOUS            10  avgt    3       0.584 ±       0.068  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           1000                          5         HOMOGENEOUS           100  avgt    3       0.677 ±       0.004  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           1000                          5         HOMOGENEOUS          1000  avgt    3       1.228 ±       0.094  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           1000                         10         HOMOGENEOUS            10  avgt    3       1.126 ±       0.099  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           1000                         10         HOMOGENEOUS           100  avgt    3       1.328 ±       0.093  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           1000                         10         HOMOGENEOUS          1000  avgt    3       2.086 ±       0.132  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           1000                         50         HOMOGENEOUS            10  avgt    3       7.356 ±       0.239  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           1000                         50         HOMOGENEOUS           100  avgt    3       7.635 ±       0.382  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           1000                         50         HOMOGENEOUS          1000  avgt    3       8.114 ±       0.330  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           5000                          5         HOMOGENEOUS            10  avgt    3       3.647 ±       0.172  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           5000                          5         HOMOGENEOUS           100  avgt    3       3.738 ±       0.129  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           5000                          5         HOMOGENEOUS          1000  avgt    3       4.845 ±       0.396  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           5000                         10         HOMOGENEOUS            10  avgt    3       7.774 ±       0.636  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           5000                         10         HOMOGENEOUS           100  avgt    3       7.797 ±       0.743  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           5000                         10         HOMOGENEOUS          1000  avgt    3       9.380 ±       0.306  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           5000                         50         HOMOGENEOUS            10  avgt    3      34.166 ±       0.809  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           5000                         50         HOMOGENEOUS           100  avgt    3      37.153 ±       1.036  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           5000                         50         HOMOGENEOUS          1000  avgt    3      41.605 ±       2.145  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false          10000                          5         HOMOGENEOUS            10  avgt    3       8.059 ±       0.385  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false          10000                          5         HOMOGENEOUS           100  avgt    3       8.604 ±       0.723  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false          10000                          5         HOMOGENEOUS          1000  avgt    3       9.209 ±       0.102  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false          10000                         10         HOMOGENEOUS            10  avgt    3      15.447 ±       0.490  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false          10000                         10         HOMOGENEOUS           100  avgt    3      16.638 ±       0.437  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false          10000                         10         HOMOGENEOUS          1000  avgt    3      18.660 ±       0.261  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false          10000                         50         HOMOGENEOUS            10  avgt    3      96.400 ±      40.753  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false          10000                         50         HOMOGENEOUS           100  avgt    3     100.771 ±     100.650  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false          10000                         50         HOMOGENEOUS          1000  avgt    3     112.401 ±     118.490  ms/op
JMH benchmarks done

FrankYang0529 avatar Nov 25 '25 15:11 FrankYang0529

PR: Uniform Homogeneous rack awareness vs non rack awareness
Benchmark                                 (assignmentType)  (assignorType)  (isRackAware)  (memberCount)  (partitionsToMemberRatio)  (subscriptionType)  (topicCount)  Mode  Cnt    Score     Error  Units
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            100                          5         HOMOGENEOUS            10  avgt    3    0.108 ±   0.009  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            100                          5         HOMOGENEOUS           100  avgt    3    0.152 ±   0.009  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            100                          5         HOMOGENEOUS          1000  avgt    3    0.188 ±   0.015  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            100                         10         HOMOGENEOUS            10  avgt    3    0.245 ±   0.036  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            100                         10         HOMOGENEOUS           100  avgt    3    0.355 ±   0.025  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            100                         10         HOMOGENEOUS          1000  avgt    3    0.470 ±   0.031  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            100                         50         HOMOGENEOUS            10  avgt    3    2.356 ±   0.203  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            100                         50         HOMOGENEOUS           100  avgt    3    3.085 ±   0.226  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            100                         50         HOMOGENEOUS          1000  avgt    3    4.696 ±   0.068  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            500                          5         HOMOGENEOUS            10  avgt    3    0.631 ±   0.010  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            500                          5         HOMOGENEOUS           100  avgt    3    0.858 ±   0.082  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            500                          5         HOMOGENEOUS          1000  avgt    3    1.015 ±   0.073  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            500                         10         HOMOGENEOUS            10  avgt    3    1.367 ±   0.165  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            500                         10         HOMOGENEOUS           100  avgt    3    1.864 ±   0.094  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            500                         10         HOMOGENEOUS          1000  avgt    3    3.050 ±   0.294  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            500                         50         HOMOGENEOUS            10  avgt    3   11.298 ±   0.354  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            500                         50         HOMOGENEOUS           100  avgt    3   15.842 ±   2.087  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            500                         50         HOMOGENEOUS          1000  avgt    3   14.337 ±   0.292  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           1000                          5         HOMOGENEOUS            10  avgt    3    1.516 ±   0.233  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           1000                          5         HOMOGENEOUS           100  avgt    3    1.668 ±   0.199  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           1000                          5         HOMOGENEOUS          1000  avgt    3    2.543 ±   0.209  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           1000                         10         HOMOGENEOUS            10  avgt    3    2.801 ±   0.179  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           1000                         10         HOMOGENEOUS           100  avgt    3    3.663 ±   0.054  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           1000                         10         HOMOGENEOUS          1000  avgt    3    5.037 ±   0.325  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           1000                         50         HOMOGENEOUS            10  avgt    3   26.607 ±   0.758  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           1000                         50         HOMOGENEOUS           100  avgt    3   29.822 ±   1.129  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           1000                         50         HOMOGENEOUS          1000  avgt    3   34.108 ±   3.849  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           5000                          5         HOMOGENEOUS            10  avgt    3    8.947 ±   0.243  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           5000                          5         HOMOGENEOUS           100  avgt    3    9.163 ±   0.197  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           5000                          5         HOMOGENEOUS          1000  avgt    3   10.732 ±   0.389  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           5000                         10         HOMOGENEOUS            10  avgt    3   18.049 ±   0.296  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           5000                         10         HOMOGENEOUS           100  avgt    3   20.137 ±   0.852  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           5000                         10         HOMOGENEOUS          1000  avgt    3   23.009 ±   1.797  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           5000                         50         HOMOGENEOUS            10  avgt    3  146.074 ±   6.545  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           5000                         50         HOMOGENEOUS           100  avgt    3  153.530 ±   8.975  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           5000                         50         HOMOGENEOUS          1000  avgt    3  163.234 ±   2.941  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true          10000                          5         HOMOGENEOUS            10  avgt    3   19.417 ±   0.924  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true          10000                          5         HOMOGENEOUS           100  avgt    3   20.587 ±   1.015  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true          10000                          5         HOMOGENEOUS          1000  avgt    3   20.502 ±   0.108  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true          10000                         10         HOMOGENEOUS            10  avgt    3   39.805 ±   2.173  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true          10000                         10         HOMOGENEOUS           100  avgt    3   43.575 ±   3.396  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true          10000                         10         HOMOGENEOUS          1000  avgt    3   43.885 ±   1.645  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true          10000                         50         HOMOGENEOUS            10  avgt    3  381.220 ± 286.858  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true          10000                         50         HOMOGENEOUS           100  avgt    3  370.638 ± 123.178  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true          10000                         50         HOMOGENEOUS          1000  avgt    3  293.988 ±  38.140  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            100                          5         HOMOGENEOUS            10  avgt    3    0.057 ±   0.001  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            100                          5         HOMOGENEOUS           100  avgt    3    0.076 ±   0.005  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            100                          5         HOMOGENEOUS          1000  avgt    3    0.190 ±   0.009  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            100                         10         HOMOGENEOUS            10  avgt    3    0.107 ±   0.009  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            100                         10         HOMOGENEOUS           100  avgt    3    0.145 ±   0.004  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            100                         10         HOMOGENEOUS          1000  avgt    3    0.396 ±   0.042  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            100                         50         HOMOGENEOUS            10  avgt    3    0.563 ±   0.060  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            100                         50         HOMOGENEOUS           100  avgt    3    0.716 ±   0.034  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            100                         50         HOMOGENEOUS          1000  avgt    3    1.221 ±   0.049  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            500                          5         HOMOGENEOUS            10  avgt    3    0.296 ±   0.082  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            500                          5         HOMOGENEOUS           100  avgt    3    0.355 ±   0.055  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            500                          5         HOMOGENEOUS          1000  avgt    3    0.668 ±   0.024  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            500                         10         HOMOGENEOUS            10  avgt    3    0.574 ±   0.181  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            500                         10         HOMOGENEOUS           100  avgt    3    0.650 ±   0.019  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            500                         10         HOMOGENEOUS          1000  avgt    3    1.271 ±   0.036  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            500                         50         HOMOGENEOUS            10  avgt    3    3.521 ±   0.171  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            500                         50         HOMOGENEOUS           100  avgt    3    3.594 ±   0.208  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            500                         50         HOMOGENEOUS          1000  avgt    3    4.512 ±   0.342  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           1000                          5         HOMOGENEOUS            10  avgt    3    0.688 ±   0.018  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           1000                          5         HOMOGENEOUS           100  avgt    3    0.755 ±   0.036  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           1000                          5         HOMOGENEOUS          1000  avgt    3    1.204 ±   0.076  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           1000                         10         HOMOGENEOUS            10  avgt    3    1.348 ±   0.040  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           1000                         10         HOMOGENEOUS           100  avgt    3    1.422 ±   0.081  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           1000                         10         HOMOGENEOUS          1000  avgt    3    2.027 ±   0.120  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           1000                         50         HOMOGENEOUS            10  avgt    3    7.903 ±   0.679  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           1000                         50         HOMOGENEOUS           100  avgt    3    7.990 ±   0.115  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           1000                         50         HOMOGENEOUS          1000  avgt    3    9.292 ±   0.337  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           5000                          5         HOMOGENEOUS            10  avgt    3    3.971 ±   0.086  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           5000                          5         HOMOGENEOUS           100  avgt    3    4.218 ±   0.624  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           5000                          5         HOMOGENEOUS          1000  avgt    3    4.781 ±   0.459  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           5000                         10         HOMOGENEOUS            10  avgt    3    8.110 ±   0.459  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           5000                         10         HOMOGENEOUS           100  avgt    3    8.335 ±   0.736  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           5000                         10         HOMOGENEOUS          1000  avgt    3    9.450 ±   0.372  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           5000                         50         HOMOGENEOUS            10  avgt    3   41.135 ±   2.047  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           5000                         50         HOMOGENEOUS           100  avgt    3   41.426 ±   2.844  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           5000                         50         HOMOGENEOUS          1000  avgt    3   43.359 ±   1.131  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false          10000                          5         HOMOGENEOUS            10  avgt    3    8.391 ±   0.671  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false          10000                          5         HOMOGENEOUS           100  avgt    3    8.777 ±   0.485  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false          10000                          5         HOMOGENEOUS          1000  avgt    3   10.450 ±   0.063  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false          10000                         10         HOMOGENEOUS            10  avgt    3   15.541 ±   0.487  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false          10000                         10         HOMOGENEOUS           100  avgt    3   18.094 ±   0.648  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false          10000                         10         HOMOGENEOUS          1000  avgt    3   20.311 ±   0.371  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false          10000                         50         HOMOGENEOUS            10  avgt    3  115.302 ± 117.242  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false          10000                         50         HOMOGENEOUS           100  avgt    3  112.445 ± 102.347  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false          10000                         50         HOMOGENEOUS          1000  avgt    3  110.267 ±  20.565  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            100                          5         HOMOGENEOUS            10  avgt    3    0.063 ±   0.004  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            100                          5         HOMOGENEOUS           100  avgt    3    0.105 ±   0.010  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            100                          5         HOMOGENEOUS          1000  avgt    3    0.192 ±   0.007  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            100                         10         HOMOGENEOUS            10  avgt    3    0.129 ±   0.009  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            100                         10         HOMOGENEOUS           100  avgt    3    0.185 ±   0.021  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            100                         10         HOMOGENEOUS          1000  avgt    3    0.436 ±   0.020  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            100                         50         HOMOGENEOUS            10  avgt    3    0.965 ±   0.078  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            100                         50         HOMOGENEOUS           100  avgt    3    1.067 ±   0.041  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            100                         50         HOMOGENEOUS          1000  avgt    3    1.965 ±   0.063  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            500                          5         HOMOGENEOUS            10  avgt    3    0.455 ±   0.021  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            500                          5         HOMOGENEOUS           100  avgt    3    0.591 ±   0.023  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            500                          5         HOMOGENEOUS          1000  avgt    3    0.933 ±   0.077  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            500                         10         HOMOGENEOUS            10  avgt    3    1.080 ±   0.075  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            500                         10         HOMOGENEOUS           100  avgt    3    1.192 ±   0.149  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            500                         10         HOMOGENEOUS          1000  avgt    3    2.106 ±   0.038  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            500                         50         HOMOGENEOUS            10  avgt    3    5.009 ±   0.227  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            500                         50         HOMOGENEOUS           100  avgt    3    5.574 ±   0.355  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            500                         50         HOMOGENEOUS          1000  avgt    3    6.903 ±   0.509  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           1000                          5         HOMOGENEOUS            10  avgt    3    1.175 ±   0.092  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           1000                          5         HOMOGENEOUS           100  avgt    3    1.280 ±   0.013  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           1000                          5         HOMOGENEOUS          1000  avgt    3    2.061 ±   0.025  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           1000                         10         HOMOGENEOUS            10  avgt    3    2.169 ±   0.218  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           1000                         10         HOMOGENEOUS           100  avgt    3    2.503 ±   0.157  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           1000                         10         HOMOGENEOUS          1000  avgt    3    3.500 ±   0.455  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           1000                         50         HOMOGENEOUS            10  avgt    3   11.547 ±   0.554  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           1000                         50         HOMOGENEOUS           100  avgt    3   12.317 ±   0.171  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           1000                         50         HOMOGENEOUS          1000  avgt    3   14.511 ±   0.373  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           5000                          5         HOMOGENEOUS            10  avgt    3    5.909 ±   0.290  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           5000                          5         HOMOGENEOUS           100  avgt    3    6.747 ±   0.363  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           5000                          5         HOMOGENEOUS          1000  avgt    3    8.281 ±   0.642  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           5000                         10         HOMOGENEOUS            10  avgt    3   12.482 ±   0.194  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           5000                         10         HOMOGENEOUS           100  avgt    3   13.923 ±   0.694  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           5000                         10         HOMOGENEOUS          1000  avgt    3   15.520 ±   1.331  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           5000                         50         HOMOGENEOUS            10  avgt    3   62.856 ±   5.393  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           5000                         50         HOMOGENEOUS           100  avgt    3   65.641 ±   3.937  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           5000                         50         HOMOGENEOUS          1000  avgt    3   69.752 ±   7.493  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true          10000                          5         HOMOGENEOUS            10  avgt    3   14.914 ±   0.464  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true          10000                          5         HOMOGENEOUS           100  avgt    3   14.938 ±   0.823  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true          10000                          5         HOMOGENEOUS          1000  avgt    3   17.642 ±   0.326  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true          10000                         10         HOMOGENEOUS            10  avgt    3   27.113 ±   1.209  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true          10000                         10         HOMOGENEOUS           100  avgt    3   30.178 ±   2.047  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true          10000                         10         HOMOGENEOUS          1000  avgt    3   30.431 ±   0.678  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true          10000                         50         HOMOGENEOUS            10  avgt    3  152.536 ±  40.089  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true          10000                         50         HOMOGENEOUS           100  avgt    3  155.098 ±  21.949  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true          10000                         50         HOMOGENEOUS          1000  avgt    3  158.401 ±  20.146  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            100                          5         HOMOGENEOUS            10  avgt    3    0.055 ±   0.004  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            100                          5         HOMOGENEOUS           100  avgt    3    0.077 ±   0.003  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            100                          5         HOMOGENEOUS          1000  avgt    3    0.193 ±   0.010  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            100                         10         HOMOGENEOUS            10  avgt    3    0.095 ±   0.003  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            100                         10         HOMOGENEOUS           100  avgt    3    0.145 ±   0.007  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            100                         10         HOMOGENEOUS          1000  avgt    3    0.391 ±   0.016  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            100                         50         HOMOGENEOUS            10  avgt    3    0.518 ±   0.072  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            100                         50         HOMOGENEOUS           100  avgt    3    0.604 ±   0.075  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            100                         50         HOMOGENEOUS          1000  avgt    3    1.141 ±   0.029  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            500                          5         HOMOGENEOUS            10  avgt    3    0.272 ±   0.185  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            500                          5         HOMOGENEOUS           100  avgt    3    0.326 ±   0.014  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            500                          5         HOMOGENEOUS          1000  avgt    3    0.647 ±   0.038  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            500                         10         HOMOGENEOUS            10  avgt    3    0.494 ±   0.077  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            500                         10         HOMOGENEOUS           100  avgt    3    0.595 ±   0.017  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            500                         10         HOMOGENEOUS          1000  avgt    3    1.146 ±   0.059  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            500                         50         HOMOGENEOUS            10  avgt    3    3.362 ±   0.215  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            500                         50         HOMOGENEOUS           100  avgt    3    3.543 ±   0.308  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            500                         50         HOMOGENEOUS          1000  avgt    3    4.240 ±   0.338  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           1000                          5         HOMOGENEOUS            10  avgt    3    0.636 ±   0.094  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           1000                          5         HOMOGENEOUS           100  avgt    3    0.661 ±   0.005  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           1000                          5         HOMOGENEOUS          1000  avgt    3    1.225 ±   0.048  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           1000                         10         HOMOGENEOUS            10  avgt    3    1.132 ±   0.030  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           1000                         10         HOMOGENEOUS           100  avgt    3    1.273 ±   0.056  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           1000                         10         HOMOGENEOUS          1000  avgt    3    2.060 ±   0.145  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           1000                         50         HOMOGENEOUS            10  avgt    3    7.024 ±   0.322  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           1000                         50         HOMOGENEOUS           100  avgt    3    7.245 ±   0.081  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           1000                         50         HOMOGENEOUS          1000  avgt    3    8.764 ±   0.635  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           5000                          5         HOMOGENEOUS            10  avgt    3    3.671 ±   0.068  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           5000                          5         HOMOGENEOUS           100  avgt    3    3.792 ±   0.100  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           5000                          5         HOMOGENEOUS          1000  avgt    3    4.452 ±   0.050  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           5000                         10         HOMOGENEOUS            10  avgt    3    7.528 ±   0.138  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           5000                         10         HOMOGENEOUS           100  avgt    3    7.840 ±   0.222  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           5000                         10         HOMOGENEOUS          1000  avgt    3    9.436 ±   0.095  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           5000                         50         HOMOGENEOUS            10  avgt    3   36.284 ±   3.300  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           5000                         50         HOMOGENEOUS           100  avgt    3   36.756 ±   1.290  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           5000                         50         HOMOGENEOUS          1000  avgt    3   40.020 ±   1.041  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false          10000                          5         HOMOGENEOUS            10  avgt    3    8.215 ±   0.615  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false          10000                          5         HOMOGENEOUS           100  avgt    3    8.556 ±   0.398  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false          10000                          5         HOMOGENEOUS          1000  avgt    3    9.799 ±   0.518  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false          10000                         10         HOMOGENEOUS            10  avgt    3   16.688 ±   0.998  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false          10000                         10         HOMOGENEOUS           100  avgt    3   16.410 ±   1.101  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false          10000                         10         HOMOGENEOUS          1000  avgt    3   16.858 ±   0.463  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false          10000                         50         HOMOGENEOUS            10  avgt    3   90.713 ±   4.131  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false          10000                         50         HOMOGENEOUS           100  avgt    3  100.325 ±  87.561  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false          10000                         50         HOMOGENEOUS          1000  avgt    3  101.283 ±   1.971  ms/op
JMH benchmarks done

FrankYang0529 avatar Nov 28 '25 06:11 FrankYang0529

Hi @dajac, following is summary for trunk & PR comparison. The difference between trunk and PR for non-rackaware is from checking whether to use rack awareness strategy (Step 1). Current PR implementation needs useRackStrategy variable to skip rack awareness check if users don't need it.

The performance check for step 1 takes about 95.415 ± 2.039 ms/op. If we add this part to trunk result, the final results between trunk and PR for non-rackaware are similar. Most of the cost are used to collect allMemberRacks, partitionRacks, and allPartitionRacks. I'm wondering do we want to add another configuration to consumer group to indicate whether to enable rack aware check? If user doesn't need rack aware calculation, we can get similar result as trunk branch.

https://github.com/apache/kafka/pull/20000/files#diff-a1046bd3b6306ea23bdb5cba83c0302d8137ed9bc0d6ecc1368caf4bbca2612dR116-R133

assignmentType memberCount partitionsToMemberRatio subscriptionType topicCount Mode Cnt Trunk & Non-RackAware PR & Non-RackAware PR & RackAware
FULL 10000 50 HOMOGENEOUS 1000 avgt 3 12.305 ± 1.321 ms/op 110.267 ± 20.565 ms/op 293.988 ± 38.140 ms/op
INCREMENTAL 10000 50 HOMOGENEOUS 1000 avgt 3 5.778 ± 0.643 ms/op 101.283 ± 1.971 ms/op 158.401 ± 20.146 ms/op

FrankYang0529 avatar Dec 01 '25 11:12 FrankYang0529

Performance for skipping partition racks collection if member racks is empty.

PR: Uniform Homogeneous rack awareness vs non rack awareness
Benchmark                                 (assignmentType)  (assignorType)  (isRackAware)  (memberCount)  (partitionsToMemberRatio)  (subscriptionType)  (topicCount)  Mode  Cnt    Score    Error  Units
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            100                          5         HOMOGENEOUS            10  avgt    3    0.076 ±  0.006  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            100                          5         HOMOGENEOUS           100  avgt    3    0.104 ±  0.006  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            100                          5         HOMOGENEOUS          1000  avgt    3    0.202 ±  0.007  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            100                         10         HOMOGENEOUS            10  avgt    3    0.147 ±  0.017  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            100                         10         HOMOGENEOUS           100  avgt    3    0.203 ±  0.015  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            100                         10         HOMOGENEOUS          1000  avgt    3    0.484 ±  0.016  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            100                         50         HOMOGENEOUS            10  avgt    3    0.987 ±  0.152  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            100                         50         HOMOGENEOUS           100  avgt    3    0.928 ±  0.100  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            100                         50         HOMOGENEOUS          1000  avgt    3    1.584 ±  0.103  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            500                          5         HOMOGENEOUS            10  avgt    3    0.495 ±  0.049  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            500                          5         HOMOGENEOUS           100  avgt    3    0.652 ±  0.078  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            500                          5         HOMOGENEOUS          1000  avgt    3    0.980 ±  0.091  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            500                         10         HOMOGENEOUS            10  avgt    3    1.014 ±  0.489  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            500                         10         HOMOGENEOUS           100  avgt    3    1.181 ±  0.143  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            500                         10         HOMOGENEOUS          1000  avgt    3    1.744 ±  0.149  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            500                         50         HOMOGENEOUS            10  avgt    3    4.959 ±  0.106  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            500                         50         HOMOGENEOUS           100  avgt    3    5.699 ±  0.293  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true            500                         50         HOMOGENEOUS          1000  avgt    3    6.002 ±  0.093  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           1000                          5         HOMOGENEOUS            10  avgt    3    1.153 ±  0.350  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           1000                          5         HOMOGENEOUS           100  avgt    3    1.266 ±  0.278  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           1000                          5         HOMOGENEOUS          1000  avgt    3    2.034 ±  0.052  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           1000                         10         HOMOGENEOUS            10  avgt    3    2.097 ±  0.360  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           1000                         10         HOMOGENEOUS           100  avgt    3    2.222 ±  0.417  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           1000                         10         HOMOGENEOUS          1000  avgt    3    3.307 ±  0.382  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           1000                         50         HOMOGENEOUS            10  avgt    3   10.831 ±  1.128  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           1000                         50         HOMOGENEOUS           100  avgt    3   11.280 ±  0.256  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           1000                         50         HOMOGENEOUS          1000  avgt    3   14.183 ±  0.331  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           5000                          5         HOMOGENEOUS            10  avgt    3    6.737 ±  0.631  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           5000                          5         HOMOGENEOUS           100  avgt    3    6.903 ±  0.218  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           5000                          5         HOMOGENEOUS          1000  avgt    3    8.311 ±  0.345  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           5000                         10         HOMOGENEOUS            10  avgt    3   11.549 ±  0.579  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           5000                         10         HOMOGENEOUS           100  avgt    3   12.806 ±  0.509  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           5000                         10         HOMOGENEOUS          1000  avgt    3   13.570 ±  0.959  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           5000                         50         HOMOGENEOUS            10  avgt    3   53.186 ±  0.817  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           5000                         50         HOMOGENEOUS           100  avgt    3   54.987 ±  1.524  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true           5000                         50         HOMOGENEOUS          1000  avgt    3   61.630 ±  7.013  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true          10000                          5         HOMOGENEOUS            10  avgt    3   16.396 ±  0.826  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true          10000                          5         HOMOGENEOUS           100  avgt    3   16.206 ±  1.633  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true          10000                          5         HOMOGENEOUS          1000  avgt    3   19.322 ±  0.453  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true          10000                         10         HOMOGENEOUS            10  avgt    3   25.467 ±  0.830  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true          10000                         10         HOMOGENEOUS           100  avgt    3   27.552 ±  2.128  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true          10000                         10         HOMOGENEOUS          1000  avgt    3   30.393 ±  1.697  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true          10000                         50         HOMOGENEOUS            10  avgt    3  155.069 ± 49.859  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true          10000                         50         HOMOGENEOUS           100  avgt    3  150.892 ± 68.382  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM           true          10000                         50         HOMOGENEOUS          1000  avgt    3  164.563 ± 48.789  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            100                          5         HOMOGENEOUS            10  avgt    3    0.016 ±  0.001  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            100                          5         HOMOGENEOUS           100  avgt    3    0.021 ±  0.002  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            100                          5         HOMOGENEOUS          1000  avgt    3    0.128 ±  0.009  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            100                         10         HOMOGENEOUS            10  avgt    3    0.023 ±  0.002  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            100                         10         HOMOGENEOUS           100  avgt    3    0.028 ±  0.001  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            100                         10         HOMOGENEOUS          1000  avgt    3    0.183 ±  0.006  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            100                         50         HOMOGENEOUS            10  avgt    3    0.101 ±  0.004  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            100                         50         HOMOGENEOUS           100  avgt    3    0.104 ±  0.009  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            100                         50         HOMOGENEOUS          1000  avgt    3    0.257 ±  0.019  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            500                          5         HOMOGENEOUS            10  avgt    3    0.079 ±  0.012  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            500                          5         HOMOGENEOUS           100  avgt    3    0.090 ±  0.009  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            500                          5         HOMOGENEOUS          1000  avgt    3    0.252 ±  0.009  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            500                         10         HOMOGENEOUS            10  avgt    3    0.122 ±  0.013  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            500                         10         HOMOGENEOUS           100  avgt    3    0.128 ±  0.026  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            500                         10         HOMOGENEOUS          1000  avgt    3    0.307 ±  0.046  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            500                         50         HOMOGENEOUS            10  avgt    3    0.553 ±  0.035  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            500                         50         HOMOGENEOUS           100  avgt    3    0.558 ±  0.060  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false            500                         50         HOMOGENEOUS          1000  avgt    3    0.742 ±  0.015  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           1000                          5         HOMOGENEOUS            10  avgt    3    0.181 ±  0.031  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           1000                          5         HOMOGENEOUS           100  avgt    3    0.193 ±  0.010  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           1000                          5         HOMOGENEOUS          1000  avgt    3    0.366 ±  0.049  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           1000                         10         HOMOGENEOUS            10  avgt    3    0.257 ±  0.106  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           1000                         10         HOMOGENEOUS           100  avgt    3    0.269 ±  0.003  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           1000                         10         HOMOGENEOUS          1000  avgt    3    0.465 ±  0.073  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           1000                         50         HOMOGENEOUS            10  avgt    3    1.125 ±  0.060  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           1000                         50         HOMOGENEOUS           100  avgt    3    1.161 ±  0.011  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           1000                         50         HOMOGENEOUS          1000  avgt    3    1.327 ±  0.037  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           5000                          5         HOMOGENEOUS            10  avgt    3    1.122 ±  0.033  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           5000                          5         HOMOGENEOUS           100  avgt    3    1.285 ±  0.182  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           5000                          5         HOMOGENEOUS          1000  avgt    3    1.599 ±  0.165  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           5000                         10         HOMOGENEOUS            10  avgt    3    1.558 ±  0.162  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           5000                         10         HOMOGENEOUS           100  avgt    3    1.738 ±  0.252  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           5000                         10         HOMOGENEOUS          1000  avgt    3    2.006 ±  0.212  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           5000                         50         HOMOGENEOUS            10  avgt    3    6.069 ±  0.210  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           5000                         50         HOMOGENEOUS           100  avgt    3    5.869 ±  0.141  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false           5000                         50         HOMOGENEOUS          1000  avgt    3    6.415 ±  0.542  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false          10000                          5         HOMOGENEOUS            10  avgt    3    2.500 ±  0.121  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false          10000                          5         HOMOGENEOUS           100  avgt    3    2.688 ±  0.381  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false          10000                          5         HOMOGENEOUS          1000  avgt    3    3.184 ±  0.179  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false          10000                         10         HOMOGENEOUS            10  avgt    3    3.251 ±  0.133  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false          10000                         10         HOMOGENEOUS           100  avgt    3    3.534 ±  0.099  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false          10000                         10         HOMOGENEOUS          1000  avgt    3    3.947 ±  0.188  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false          10000                         50         HOMOGENEOUS            10  avgt    3   11.955 ±  0.334  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false          10000                         50         HOMOGENEOUS           100  avgt    3   12.122 ±  0.760  ms/op
ServerSideAssignorBenchmark.doAssignment              FULL         UNIFORM          false          10000                         50         HOMOGENEOUS          1000  avgt    3   13.351 ±  0.678  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            100                          5         HOMOGENEOUS            10  avgt    3    0.067 ±  0.002  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            100                          5         HOMOGENEOUS           100  avgt    3    0.089 ±  0.005  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            100                          5         HOMOGENEOUS          1000  avgt    3    0.200 ±  0.011  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            100                         10         HOMOGENEOUS            10  avgt    3    0.133 ±  0.016  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            100                         10         HOMOGENEOUS           100  avgt    3    0.189 ±  0.018  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            100                         10         HOMOGENEOUS          1000  avgt    3    0.437 ±  0.020  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            100                         50         HOMOGENEOUS            10  avgt    3    0.998 ±  0.066  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            100                         50         HOMOGENEOUS           100  avgt    3    1.052 ±  0.043  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            100                         50         HOMOGENEOUS          1000  avgt    3    2.028 ±  0.209  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            500                          5         HOMOGENEOUS            10  avgt    3    0.513 ±  0.108  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            500                          5         HOMOGENEOUS           100  avgt    3    0.663 ±  0.051  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            500                          5         HOMOGENEOUS          1000  avgt    3    0.924 ±  0.074  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            500                         10         HOMOGENEOUS            10  avgt    3    1.093 ±  0.208  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            500                         10         HOMOGENEOUS           100  avgt    3    1.243 ±  0.059  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            500                         10         HOMOGENEOUS          1000  avgt    3    2.042 ±  0.173  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            500                         50         HOMOGENEOUS            10  avgt    3    4.943 ±  0.311  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            500                         50         HOMOGENEOUS           100  avgt    3    5.364 ±  0.470  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true            500                         50         HOMOGENEOUS          1000  avgt    3    7.149 ±  0.140  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           1000                          5         HOMOGENEOUS            10  avgt    3    1.274 ±  0.261  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           1000                          5         HOMOGENEOUS           100  avgt    3    1.423 ±  0.088  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           1000                          5         HOMOGENEOUS          1000  avgt    3    2.135 ±  0.189  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           1000                         10         HOMOGENEOUS            10  avgt    3    2.229 ±  0.178  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           1000                         10         HOMOGENEOUS           100  avgt    3    2.618 ±  0.438  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           1000                         10         HOMOGENEOUS          1000  avgt    3    3.556 ±  0.410  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           1000                         50         HOMOGENEOUS            10  avgt    3   11.908 ±  0.202  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           1000                         50         HOMOGENEOUS           100  avgt    3   12.963 ±  0.695  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           1000                         50         HOMOGENEOUS          1000  avgt    3   14.326 ±  1.314  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           5000                          5         HOMOGENEOUS            10  avgt    3    6.911 ±  0.127  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           5000                          5         HOMOGENEOUS           100  avgt    3    7.251 ±  0.294  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           5000                          5         HOMOGENEOUS          1000  avgt    3    9.654 ±  0.462  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           5000                         10         HOMOGENEOUS            10  avgt    3   14.080 ±  0.483  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           5000                         10         HOMOGENEOUS           100  avgt    3   14.240 ±  0.841  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           5000                         10         HOMOGENEOUS          1000  avgt    3   16.771 ±  0.502  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           5000                         50         HOMOGENEOUS            10  avgt    3   62.751 ±  0.607  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           5000                         50         HOMOGENEOUS           100  avgt    3   64.278 ±  7.344  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true           5000                         50         HOMOGENEOUS          1000  avgt    3   70.597 ±  6.652  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true          10000                          5         HOMOGENEOUS            10  avgt    3   15.899 ±  1.099  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true          10000                          5         HOMOGENEOUS           100  avgt    3   17.220 ±  1.465  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true          10000                          5         HOMOGENEOUS          1000  avgt    3   18.584 ±  1.696  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true          10000                         10         HOMOGENEOUS            10  avgt    3   30.809 ±  0.887  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true          10000                         10         HOMOGENEOUS           100  avgt    3   30.625 ±  1.796  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true          10000                         10         HOMOGENEOUS          1000  avgt    3   33.665 ±  2.565  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true          10000                         50         HOMOGENEOUS            10  avgt    3  153.244 ± 32.043  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true          10000                         50         HOMOGENEOUS           100  avgt    3  156.668 ± 23.562  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM           true          10000                         50         HOMOGENEOUS          1000  avgt    3  159.644 ± 45.042  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            100                          5         HOMOGENEOUS            10  avgt    3    0.009 ±  0.001  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            100                          5         HOMOGENEOUS           100  avgt    3    0.016 ±  0.001  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            100                          5         HOMOGENEOUS          1000  avgt    3    0.127 ±  0.007  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            100                         10         HOMOGENEOUS            10  avgt    3    0.013 ±  0.002  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            100                         10         HOMOGENEOUS           100  avgt    3    0.019 ±  0.001  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            100                         10         HOMOGENEOUS          1000  avgt    3    0.162 ±  0.003  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            100                         50         HOMOGENEOUS            10  avgt    3    0.066 ±  0.005  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            100                         50         HOMOGENEOUS           100  avgt    3    0.059 ±  0.001  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            100                         50         HOMOGENEOUS          1000  avgt    3    0.242 ±  0.008  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            500                          5         HOMOGENEOUS            10  avgt    3    0.045 ±  0.004  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            500                          5         HOMOGENEOUS           100  avgt    3    0.053 ±  0.001  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            500                          5         HOMOGENEOUS          1000  avgt    3    0.228 ±  0.006  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            500                         10         HOMOGENEOUS            10  avgt    3    0.060 ±  0.002  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            500                         10         HOMOGENEOUS           100  avgt    3    0.064 ±  0.007  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            500                         10         HOMOGENEOUS          1000  avgt    3    0.254 ±  0.019  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            500                         50         HOMOGENEOUS            10  avgt    3    0.243 ±  0.132  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            500                         50         HOMOGENEOUS           100  avgt    3    0.218 ±  0.061  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false            500                         50         HOMOGENEOUS          1000  avgt    3    0.434 ±  0.108  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           1000                          5         HOMOGENEOUS            10  avgt    3    0.107 ±  0.014  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           1000                          5         HOMOGENEOUS           100  avgt    3    0.116 ±  0.004  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           1000                          5         HOMOGENEOUS          1000  avgt    3    0.307 ±  0.022  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           1000                         10         HOMOGENEOUS            10  avgt    3    0.131 ±  0.041  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           1000                         10         HOMOGENEOUS           100  avgt    3    0.147 ±  0.010  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           1000                         10         HOMOGENEOUS          1000  avgt    3    0.349 ±  0.022  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           1000                         50         HOMOGENEOUS            10  avgt    3    0.430 ±  0.067  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           1000                         50         HOMOGENEOUS           100  avgt    3    0.464 ±  0.261  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           1000                         50         HOMOGENEOUS          1000  avgt    3    0.603 ±  0.030  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           5000                          5         HOMOGENEOUS            10  avgt    3    0.776 ±  0.081  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           5000                          5         HOMOGENEOUS           100  avgt    3    0.855 ±  0.060  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           5000                          5         HOMOGENEOUS          1000  avgt    3    1.149 ±  0.020  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           5000                         10         HOMOGENEOUS            10  avgt    3    0.927 ±  0.087  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           5000                         10         HOMOGENEOUS           100  avgt    3    0.982 ±  0.207  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           5000                         10         HOMOGENEOUS          1000  avgt    3    1.255 ±  0.074  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           5000                         50         HOMOGENEOUS            10  avgt    3    2.157 ±  0.137  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           5000                         50         HOMOGENEOUS           100  avgt    3    2.496 ±  0.178  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false           5000                         50         HOMOGENEOUS          1000  avgt    3    2.467 ±  0.073  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false          10000                          5         HOMOGENEOUS            10  avgt    3    1.703 ±  0.023  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false          10000                          5         HOMOGENEOUS           100  avgt    3    1.808 ±  0.052  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false          10000                          5         HOMOGENEOUS          1000  avgt    3    2.125 ±  0.130  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false          10000                         10         HOMOGENEOUS            10  avgt    3    1.826 ±  0.041  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false          10000                         10         HOMOGENEOUS           100  avgt    3    1.906 ±  0.117  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false          10000                         10         HOMOGENEOUS          1000  avgt    3    2.462 ±  0.097  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false          10000                         50         HOMOGENEOUS            10  avgt    3    7.307 ±  0.663  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false          10000                         50         HOMOGENEOUS           100  avgt    3    6.184 ±  0.589  ms/op
ServerSideAssignorBenchmark.doAssignment       INCREMENTAL         UNIFORM          false          10000                         50         HOMOGENEOUS          1000  avgt    3    6.989 ±  0.610  ms/op

@dajac @squah-confluent I follow the suggestion and the performance for non-rackaware cases are similar as trunk branch. However, the rackaware cases still cost around 160ms. Since we only run assignment algorithm when group epoch is larger than member epoch, I think the result don't influence too much for normal heartbeat request. WDYT? Thank you.

assignmentType memberCount partitionsToMemberRatio subscriptionType topicCount Mode Cnt Trunk & Non-RackAware PR & Non-RackAware PR & RackAware
FULL 10000 50 HOMOGENEOUS 1000 avgt 3 12.305 ± 1.321 ms/op 13.351 ± 0.678 ms/op 164.563 ± 48.789 ms/op
INCREMENTAL 10000 50 HOMOGENEOUS 1000 avgt 3 5.778 ± 0.643 ms/op 6.989 ± 0.610 ms/op 159.644 ± 45.042 ms/op

FrankYang0529 avatar Dec 09 '25 16:12 FrankYang0529