Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

KAFKA-18336: Improve jmh tests on ACL in AuthorizerBenchmark and StandardAuthorizerUpdateBenchmark #18293

Open
wants to merge 2 commits into
base: trunk
Choose a base branch
from

Conversation

ekuvardin
Copy link

@ekuvardin ekuvardin commented Dec 21, 2024

https://issues.apache.org/jira/browse/KAFKA-18336

AuthorizerBenchmark

  1. jmh test should return value against return void(Compiler can eliminate returned value and benchmark would be incorrect).
  2. Also move constant variable from method to class prevent JIT to unfold
    Take a look at
    https://github.com/openjdk/jmh/blob/master/jmh-samples/src/main/java/org/openjdk/jmh/samples/JMHSample_10_ConstantFold.java

Test results doesn't change dramatically

Before

Benchmark (aclCount) (denyPercentage) (resourceCount) Mode Cnt Score Error Units
AuthorizerBenchmark.testAclsIterator 10 0 10000 avgt 15 4.533 ± 0.029 ms/op
AuthorizerBenchmark.testAclsIterator 10 0 50000 avgt 15 47.779 ± 1.503 ms/op
AuthorizerBenchmark.testAclsIterator 10 0 200000 avgt 15 232.711 ± 4.552 ms/op
AuthorizerBenchmark.testAclsIterator 10 20 10000 avgt 15 5.006 ± 0.020 ms/op
AuthorizerBenchmark.testAclsIterator 10 20 50000 avgt 15 71.517 ± 1.252 ms/op
AuthorizerBenchmark.testAclsIterator 10 20 200000 avgt 15 297.913 ± 7.168 ms/op
AuthorizerBenchmark.testAclsIterator 10 50 10000 avgt 15 7.353 ± 0.050 ms/op
AuthorizerBenchmark.testAclsIterator 10 50 50000 avgt 15 77.192 ± 2.095 ms/op
AuthorizerBenchmark.testAclsIterator 10 50 200000 avgt 15 358.778 ± 5.315 ms/op
AuthorizerBenchmark.testAclsIterator 10 90 10000 avgt 15 7.750 ± 0.096 ms/op
AuthorizerBenchmark.testAclsIterator 10 90 50000 avgt 15 98.747 ± 1.262 ms/op
AuthorizerBenchmark.testAclsIterator 10 90 200000 avgt 15 417.746 ± 8.611 ms/op
AuthorizerBenchmark.testAclsIterator 10 99 10000 avgt 15 7.530 ± 0.026 ms/op
AuthorizerBenchmark.testAclsIterator 10 99 50000 avgt 15 106.594 ± 2.024 ms/op
AuthorizerBenchmark.testAclsIterator 10 99 200000 avgt 15 421.093 ± 9.631 ms/op
AuthorizerBenchmark.testAclsIterator 10 99.9 10000 avgt 15 9.906 ± 0.047 ms/op
AuthorizerBenchmark.testAclsIterator 10 99.9 50000 avgt 15 107.951 ± 1.045 ms/op
AuthorizerBenchmark.testAclsIterator 10 99.9 200000 avgt 15 430.569 ± 8.506 ms/op
AuthorizerBenchmark.testAclsIterator 10 99.99 10000 avgt 15 8.041 ± 0.039 ms/op
AuthorizerBenchmark.testAclsIterator 10 99.99 50000 avgt 15 120.291 ± 0.822 ms/op
AuthorizerBenchmark.testAclsIterator 10 99.99 200000 avgt 15 393.282 ± 25.976 ms/op
AuthorizerBenchmark.testAclsIterator 10 100 10000 avgt 15 8.788 ± 0.033 ms/op
AuthorizerBenchmark.testAclsIterator 10 100 50000 avgt 15 110.105 ± 1.089 ms/op
AuthorizerBenchmark.testAclsIterator 10 100 200000 avgt 15 436.878 ± 8.634 ms/op
AuthorizerBenchmark.testAclsIterator 50 0 10000 avgt 15 46.881 ± 1.058 ms/op
AuthorizerBenchmark.testAclsIterator 50 0 50000 avgt 15 262.934 ± 3.612 ms/op
AuthorizerBenchmark.testAclsIterator 50 0 200000 avgt 15 2166.015 ± 319.499 ms/op
AuthorizerBenchmark.testAclsIterator 50 20 10000 avgt 15 56.863 ± 1.260 ms/op
AuthorizerBenchmark.testAclsIterator 50 20 50000 avgt 15 315.442 ± 5.460 ms/op
AuthorizerBenchmark.testAclsIterator 50 20 200000 avgt 15 2966.366 ± 865.028 ms/op
AuthorizerBenchmark.testAclsIterator 50 50 10000 avgt 15 66.585 ± 1.734 ms/op
AuthorizerBenchmark.testAclsIterator 50 50 50000 avgt 15 389.868 ± 6.320 ms/op
AuthorizerBenchmark.testAclsIterator 50 50 200000 avgt 15 5154.979 ± 814.778 ms/op
AuthorizerBenchmark.testAclsIterator 50 90 10000 avgt 15 103.685 ± 1.699 ms/op
AuthorizerBenchmark.testAclsIterator 50 90 50000 avgt 15 558.498 ± 51.829 ms/op
AuthorizerBenchmark.testAclsIterator 50 99 10000 avgt 15 108.962 ± 1.736 ms/op
AuthorizerBenchmark.testAclsIterator 50 99 50000 avgt 15 608.010 ± 42.472 ms/op
AuthorizerBenchmark.testAclsIterator 50 99.9 10000 avgt 15 120.685 ± 1.784 ms/op
AuthorizerBenchmark.testAclsIterator 50 99.9 50000 avgt 15 563.111 ± 55.787 ms/op
AuthorizerBenchmark.testAclsIterator 50 99.99 10000 avgt 15 106.483 ± 1.809 ms/op
AuthorizerBenchmark.testAclsIterator 50 99.99 50000 avgt 15 561.710 ± 50.264 ms/op
AuthorizerBenchmark.testAclsIterator 50 100 10000 avgt 15 107.990 ± 1.219 ms/op
AuthorizerBenchmark.testAclsIterator 50 100 50000 avgt 15 590.959 ± 51.660 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 10 0 10000 avgt 15 17.780 ± 0.123 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 10 0 50000 avgt 15 105.834 ± 4.223 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 10 0 200000 avgt 15 421.044 ± 9.723 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 10 20 10000 avgt 15 23.091 ± 0.127 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 10 20 50000 avgt 15 160.720 ± 7.198 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 10 20 200000 avgt 15 541.625 ± 8.964 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 10 50 10000 avgt 15 26.189 ± 0.132 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 10 50 50000 avgt 15 180.630 ± 1.276 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 10 50 200000 avgt 15 763.173 ± 5.726 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 10 90 10000 avgt 15 36.255 ± 0.186 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 10 90 50000 avgt 15 231.420 ± 1.423 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 10 90 200000 avgt 15 857.594 ± 11.340 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 10 99 10000 avgt 15 36.546 ± 0.112 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 10 99 50000 avgt 15 220.806 ± 2.422 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 10 99 200000 avgt 15 920.292 ± 17.608 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 10 99.9 10000 avgt 15 36.074 ± 0.182 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 10 99.9 50000 avgt 15 215.654 ± 1.622 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 10 99.9 200000 avgt 15 963.053 ± 11.334 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 10 99.99 10000 avgt 15 35.902 ± 0.112 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 10 99.99 50000 avgt 15 222.106 ± 4.874 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 10 99.99 200000 avgt 15 937.220 ± 9.571 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 10 100 10000 avgt 15 34.916 ± 0.094 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 10 100 50000 avgt 15 222.667 ± 1.306 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 10 100 200000 avgt 15 966.891 ± 10.204 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 50 0 10000 avgt 15 105.615 ± 4.166 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 50 0 50000 avgt 15 527.673 ± 8.004 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 50 0 200000 avgt 15 2369.899 ± 515.506 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 50 20 10000 avgt 15 125.329 ± 0.992 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 50 20 50000 avgt 15 646.265 ± 10.689 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 50 20 200000 avgt 15 4046.345 ± 1324.730 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 50 50 10000 avgt 15 151.750 ± 5.384 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 50 50 50000 avgt 15 773.261 ± 15.615 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 50 50 200000 avgt 15 6393.201 ± 895.332 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 50 90 10000 avgt 15 196.696 ± 5.261 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 50 90 50000 avgt 15 970.605 ± 17.823 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 50 99 10000 avgt 15 207.326 ± 3.853 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 50 99 50000 avgt 15 1068.608 ± 14.024 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 50 99.9 10000 avgt 15 189.784 ± 3.237 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 50 99.9 50000 avgt 15 1054.122 ± 19.361 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 50 99.99 10000 avgt 15 213.356 ± 2.144 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 50 99.99 50000 avgt 15 1127.394 ± 14.672 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 50 100 10000 avgt 15 195.919 ± 4.621 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 50 100 50000 avgt 15 1028.968 ± 14.123 ms/op
AuthorizerBenchmark.testAuthorizer 10 0 10000 avgt 15 0.188 ± 0.005 ms/op
AuthorizerBenchmark.testAuthorizer 10 0 50000 avgt 15 0.790 ± 0.023 ms/op
AuthorizerBenchmark.testAuthorizer 10 0 200000 avgt 15 3.731 ± 0.065 ms/op
AuthorizerBenchmark.testAuthorizer 10 20 10000 avgt 15 0.223 ± 0.007 ms/op
AuthorizerBenchmark.testAuthorizer 10 20 50000 avgt 15 0.890 ± 0.033 ms/op
AuthorizerBenchmark.testAuthorizer 10 20 200000 avgt 15 5.078 ± 0.107 ms/op
AuthorizerBenchmark.testAuthorizer 10 50 10000 avgt 15 0.273 ± 0.007 ms/op
AuthorizerBenchmark.testAuthorizer 10 50 50000 avgt 15 1.064 ± 0.035 ms/op
AuthorizerBenchmark.testAuthorizer 10 50 200000 avgt 15 9.979 ± 0.336 ms/op
AuthorizerBenchmark.testAuthorizer 10 90 10000 avgt 15 0.318 ± 0.013 ms/op
AuthorizerBenchmark.testAuthorizer 10 90 50000 avgt 15 1.378 ± 0.055 ms/op
AuthorizerBenchmark.testAuthorizer 10 90 200000 avgt 15 9.287 ± 0.120 ms/op
AuthorizerBenchmark.testAuthorizer 10 99 10000 avgt 15 0.324 ± 0.014 ms/op
AuthorizerBenchmark.testAuthorizer 10 99 50000 avgt 15 1.540 ± 0.092 ms/op
AuthorizerBenchmark.testAuthorizer 10 99 200000 avgt 15 17.093 ± 0.163 ms/op
AuthorizerBenchmark.testAuthorizer 10 99.9 10000 avgt 15 0.330 ± 0.014 ms/op
AuthorizerBenchmark.testAuthorizer 10 99.9 50000 avgt 15 1.633 ± 0.019 ms/op
AuthorizerBenchmark.testAuthorizer 10 99.9 200000 avgt 15 14.255 ± 0.538 ms/op
AuthorizerBenchmark.testAuthorizer 10 99.99 10000 avgt 15 0.335 ± 0.009 ms/op
AuthorizerBenchmark.testAuthorizer 10 99.99 50000 avgt 15 1.884 ± 0.054 ms/op
AuthorizerBenchmark.testAuthorizer 10 99.99 200000 avgt 15 13.492 ± 0.236 ms/op
AuthorizerBenchmark.testAuthorizer 10 100 10000 avgt 15 0.333 ± 0.017 ms/op
AuthorizerBenchmark.testAuthorizer 10 100 50000 avgt 15 1.652 ± 0.025 ms/op
AuthorizerBenchmark.testAuthorizer 10 100 200000 avgt 15 11.352 ± 0.177 ms/op
AuthorizerBenchmark.testAuthorizer 50 0 10000 avgt 15 0.197 ± 0.008 ms/op
AuthorizerBenchmark.testAuthorizer 50 0 50000 avgt 15 0.781 ± 0.039 ms/op
AuthorizerBenchmark.testAuthorizer 50 0 200000 avgt 15 3.761 ± 0.135 ms/op
AuthorizerBenchmark.testAuthorizer 50 20 10000 avgt 15 0.235 ± 0.010 ms/op
AuthorizerBenchmark.testAuthorizer 50 20 50000 avgt 15 0.883 ± 0.020 ms/op
AuthorizerBenchmark.testAuthorizer 50 20 200000 avgt 15 3.987 ± 0.080 ms/op
AuthorizerBenchmark.testAuthorizer 50 50 10000 avgt 15 0.299 ± 0.017 ms/op
AuthorizerBenchmark.testAuthorizer 50 50 50000 avgt 15 1.362 ± 0.129 ms/op
AuthorizerBenchmark.testAuthorizer 50 50 200000 avgt 15 9.872 ± 0.426 ms/op
AuthorizerBenchmark.testAuthorizer 50 90 10000 avgt 15 0.347 ± 0.008 ms/op
AuthorizerBenchmark.testAuthorizer 50 90 50000 avgt 15 1.581 ± 0.025 ms/op
AuthorizerBenchmark.testAuthorizer 50 99 10000 avgt 15 0.346 ± 0.016 ms/op
AuthorizerBenchmark.testAuthorizer 50 99 50000 avgt 15 1.653 ± 0.139 ms/op
AuthorizerBenchmark.testAuthorizer 50 99.9 10000 avgt 15 0.360 ± 0.010 ms/op
AuthorizerBenchmark.testAuthorizer 50 99.9 50000 avgt 15 1.561 ± 0.074 ms/op
AuthorizerBenchmark.testAuthorizer 50 99.99 10000 avgt 15 0.344 ± 0.016 ms/op
AuthorizerBenchmark.testAuthorizer 50 99.99 50000 avgt 15 1.652 ± 0.045 ms/op
AuthorizerBenchmark.testAuthorizer 50 100 10000 avgt 15 0.358 ± 0.014 ms/op
AuthorizerBenchmark.testAuthorizer 50 100 50000 avgt 15 1.699 ± 0.095 ms/op

After

Benchmark (aclCount) (denyPercentage) (resourceCount) Mode Cnt Score Error Units
AuthorizerBenchmark.testAclsIterator 10 0 10000 avgt 15 5.355 ± 0.035 ms/op
AuthorizerBenchmark.testAclsIterator 10 0 50000 avgt 15 47.868 ± 1.676 ms/op
AuthorizerBenchmark.testAclsIterator 10 0 200000 avgt 15 228.260 ± 5.009 ms/op
AuthorizerBenchmark.testAclsIterator 10 20 10000 avgt 15 5.123 ± 0.025 ms/op
AuthorizerBenchmark.testAclsIterator 10 20 50000 avgt 15 60.211 ± 1.251 ms/op
AuthorizerBenchmark.testAclsIterator 10 20 200000 avgt 15 257.095 ± 4.916 ms/op
AuthorizerBenchmark.testAclsIterator 10 50 10000 avgt 15 7.420 ± 0.032 ms/op
AuthorizerBenchmark.testAclsIterator 10 50 50000 avgt 15 88.709 ± 1.549 ms/op
AuthorizerBenchmark.testAclsIterator 10 50 200000 avgt 15 352.850 ± 7.081 ms/op
AuthorizerBenchmark.testAclsIterator 10 90 10000 avgt 15 8.541 ± 0.042 ms/op
AuthorizerBenchmark.testAclsIterator 10 90 50000 avgt 15 102.704 ± 0.890 ms/op
AuthorizerBenchmark.testAclsIterator 10 90 200000 avgt 15 379.122 ± 8.042 ms/op
AuthorizerBenchmark.testAclsIterator 10 99 10000 avgt 15 10.263 ± 0.071 ms/op
AuthorizerBenchmark.testAclsIterator 10 99 50000 avgt 15 98.478 ± 3.083 ms/op
AuthorizerBenchmark.testAclsIterator 10 99 200000 avgt 15 446.209 ± 11.229 ms/op
AuthorizerBenchmark.testAclsIterator 10 99.9 10000 avgt 15 9.125 ± 0.040 ms/op
AuthorizerBenchmark.testAclsIterator 10 99.9 50000 avgt 15 99.170 ± 1.136 ms/op
AuthorizerBenchmark.testAclsIterator 10 99.9 200000 avgt 15 427.520 ± 5.386 ms/op
AuthorizerBenchmark.testAclsIterator 10 99.99 10000 avgt 15 13.160 ± 0.090 ms/op
AuthorizerBenchmark.testAclsIterator 10 99.99 50000 avgt 15 109.097 ± 0.863 ms/op
AuthorizerBenchmark.testAclsIterator 10 99.99 200000 avgt 15 451.135 ± 6.839 ms/op
AuthorizerBenchmark.testAclsIterator 10 100 10000 avgt 15 10.032 ± 0.051 ms/op
AuthorizerBenchmark.testAclsIterator 10 100 50000 avgt 15 109.316 ± 1.247 ms/op
AuthorizerBenchmark.testAclsIterator 10 100 200000 avgt 15 434.075 ± 9.967 ms/op
AuthorizerBenchmark.testAclsIterator 50 0 10000 avgt 15 36.517 ± 1.024 ms/op
AuthorizerBenchmark.testAclsIterator 50 0 50000 avgt 15 294.266 ± 4.823 ms/op
AuthorizerBenchmark.testAclsIterator 50 0 200000 avgt 15 2019.107 ± 349.685 ms/op
AuthorizerBenchmark.testAclsIterator 50 20 10000 avgt 15 64.873 ± 1.256 ms/op
AuthorizerBenchmark.testAclsIterator 50 20 50000 avgt 15 313.152 ± 6.927 ms/op
AuthorizerBenchmark.testAclsIterator 50 20 200000 avgt 15 2774.210 ± 555.302 ms/op
AuthorizerBenchmark.testAclsIterator 50 50 10000 avgt 15 70.054 ± 0.933 ms/op
AuthorizerBenchmark.testAclsIterator 50 50 50000 avgt 15 402.294 ± 5.894 ms/op
AuthorizerBenchmark.testAclsIterator 50 50 200000 avgt 15 5148.400 ± 374.100 ms/op
AuthorizerBenchmark.testAclsIterator 50 90 10000 avgt 15 98.762 ± 1.523 ms/op
AuthorizerBenchmark.testAclsIterator 50 90 50000 avgt 15 520.505 ± 61.058 ms/op
AuthorizerBenchmark.testAclsIterator 50 99 10000 avgt 15 95.174 ± 2.781 ms/op
AuthorizerBenchmark.testAclsIterator 50 99 50000 avgt 15 569.839 ± 41.781 ms/op
AuthorizerBenchmark.testAclsIterator 50 99.9 10000 avgt 15 122.729 ± 1.712 ms/op
AuthorizerBenchmark.testAclsIterator 50 99.9 50000 avgt 15 603.101 ± 11.881 ms/op
AuthorizerBenchmark.testAclsIterator 50 99.99 10000 avgt 15 104.103 ± 2.250 ms/op
AuthorizerBenchmark.testAclsIterator 50 99.99 50000 avgt 15 551.325 ± 58.634 ms/op
AuthorizerBenchmark.testAclsIterator 50 100 10000 avgt 15 112.089 ± 1.871 ms/op
AuthorizerBenchmark.testAclsIterator 50 100 50000 avgt 15 611.271 ± 55.765 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 10 0 10000 avgt 15 16.657 ± 0.041 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 10 0 50000 avgt 15 106.764 ± 3.243 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 10 0 200000 avgt 15 403.638 ± 5.408 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 10 20 10000 avgt 15 20.592 ± 0.085 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 10 20 50000 avgt 15 132.827 ± 2.971 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 10 20 200000 avgt 15 657.083 ± 11.814 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 10 50 10000 avgt 15 25.562 ± 0.084 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 10 50 50000 avgt 15 161.116 ± 2.209 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 10 50 200000 avgt 15 688.638 ± 5.587 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 10 90 10000 avgt 15 31.503 ± 0.176 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 10 90 50000 avgt 15 223.010 ± 3.545 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 10 90 200000 avgt 15 885.687 ± 14.292 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 10 99 10000 avgt 15 33.335 ± 0.112 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 10 99 50000 avgt 15 233.631 ± 4.312 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 10 99 200000 avgt 15 842.209 ± 15.090 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 10 99.9 10000 avgt 15 37.809 ± 0.143 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 10 99.9 50000 avgt 15 213.227 ± 3.765 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 10 99.9 200000 avgt 15 947.755 ± 10.388 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 10 99.99 10000 avgt 15 36.170 ± 0.175 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 10 99.99 50000 avgt 15 214.081 ± 3.268 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 10 99.99 200000 avgt 15 934.340 ± 8.846 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 10 100 10000 avgt 15 36.873 ± 0.103 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 10 100 50000 avgt 15 231.965 ± 1.793 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 10 100 200000 avgt 15 893.154 ± 6.901 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 50 0 10000 avgt 15 99.887 ± 3.773 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 50 0 50000 avgt 15 505.170 ± 6.442 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 50 0 200000 avgt 15 2340.088 ± 607.795 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 50 20 10000 avgt 15 122.115 ± 2.878 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 50 20 50000 avgt 15 673.561 ± 9.925 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 50 20 200000 avgt 15 2996.840 ± 918.249 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 50 50 10000 avgt 15 153.206 ± 5.209 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 50 50 50000 avgt 15 771.610 ± 16.957 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 50 50 200000 avgt 15 6514.659 ± 588.271 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 50 90 10000 avgt 15 190.615 ± 4.464 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 50 90 50000 avgt 15 1001.107 ± 15.317 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 50 99 10000 avgt 15 198.734 ± 4.908 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 50 99 50000 avgt 15 1031.196 ± 20.907 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 50 99.9 10000 avgt 15 214.092 ± 6.406 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 50 99.9 50000 avgt 15 988.382 ± 18.046 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 50 99.99 10000 avgt 15 208.396 ± 5.061 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 50 99.99 50000 avgt 15 1048.331 ± 15.367 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 50 100 10000 avgt 15 194.714 ± 3.812 ms/op
AuthorizerBenchmark.testAuthorizeByResourceType 50 100 50000 avgt 15 1045.921 ± 20.503 ms/op
AuthorizerBenchmark.testAuthorizer 10 0 10000 avgt 15 0.182 ± 0.007 ms/op
AuthorizerBenchmark.testAuthorizer 10 0 50000 avgt 15 0.740 ± 0.016 ms/op
AuthorizerBenchmark.testAuthorizer 10 0 200000 avgt 15 3.673 ± 0.056 ms/op
AuthorizerBenchmark.testAuthorizer 10 20 10000 avgt 15 0.207 ± 0.010 ms/op
AuthorizerBenchmark.testAuthorizer 10 20 50000 avgt 15 0.864 ± 0.027 ms/op
AuthorizerBenchmark.testAuthorizer 10 20 200000 avgt 15 4.988 ± 0.099 ms/op
AuthorizerBenchmark.testAuthorizer 10 50 10000 avgt 15 0.219 ± 0.008 ms/op
AuthorizerBenchmark.testAuthorizer 10 50 50000 avgt 15 1.047 ± 0.025 ms/op
AuthorizerBenchmark.testAuthorizer 10 50 200000 avgt 15 8.115 ± 0.075 ms/op
AuthorizerBenchmark.testAuthorizer 10 90 10000 avgt 15 0.301 ± 0.011 ms/op
AuthorizerBenchmark.testAuthorizer 10 90 50000 avgt 15 1.339 ± 0.045 ms/op
AuthorizerBenchmark.testAuthorizer 10 90 200000 avgt 15 9.117 ± 0.137 ms/op
AuthorizerBenchmark.testAuthorizer 10 99 10000 avgt 15 0.287 ± 0.014 ms/op
AuthorizerBenchmark.testAuthorizer 10 99 50000 avgt 15 1.395 ± 0.041 ms/op
AuthorizerBenchmark.testAuthorizer 10 99 200000 avgt 15 13.488 ± 0.235 ms/op
AuthorizerBenchmark.testAuthorizer 10 99.9 10000 avgt 15 0.317 ± 0.017 ms/op
AuthorizerBenchmark.testAuthorizer 10 99.9 50000 avgt 15 1.425 ± 0.056 ms/op
AuthorizerBenchmark.testAuthorizer 10 99.9 200000 avgt 15 16.715 ± 0.175 ms/op
AuthorizerBenchmark.testAuthorizer 10 99.99 10000 avgt 15 0.315 ± 0.014 ms/op
AuthorizerBenchmark.testAuthorizer 10 99.99 50000 avgt 15 1.418 ± 0.056 ms/op
AuthorizerBenchmark.testAuthorizer 10 99.99 200000 avgt 15 10.622 ± 0.148 ms/op
AuthorizerBenchmark.testAuthorizer 10 100 10000 avgt 15 0.294 ± 0.010 ms/op
AuthorizerBenchmark.testAuthorizer 10 100 50000 avgt 15 1.387 ± 0.041 ms/op
AuthorizerBenchmark.testAuthorizer 10 100 200000 avgt 15 12.071 ± 0.208 ms/op
AuthorizerBenchmark.testAuthorizer 50 0 10000 avgt 15 0.193 ± 0.006 ms/op
AuthorizerBenchmark.testAuthorizer 50 0 50000 avgt 15 0.737 ± 0.033 ms/op
AuthorizerBenchmark.testAuthorizer 50 0 200000 avgt 15 5.317 ± 0.335 ms/op
AuthorizerBenchmark.testAuthorizer 50 20 10000 avgt 15 0.231 ± 0.012 ms/op
AuthorizerBenchmark.testAuthorizer 50 20 50000 avgt 15 0.849 ± 0.022 ms/op
AuthorizerBenchmark.testAuthorizer 50 20 200000 avgt 15 3.823 ± 0.161 ms/op
AuthorizerBenchmark.testAuthorizer 50 50 10000 avgt 15 0.306 ± 0.018 ms/op
AuthorizerBenchmark.testAuthorizer 50 50 50000 avgt 15 1.059 ± 0.024 ms/op
AuthorizerBenchmark.testAuthorizer 50 50 200000 avgt 15 5.659 ± 0.238 ms/op
AuthorizerBenchmark.testAuthorizer 50 90 10000 avgt 15 0.360 ± 0.022 ms/op
AuthorizerBenchmark.testAuthorizer 50 90 50000 avgt 15 1.523 ± 0.095 ms/op
AuthorizerBenchmark.testAuthorizer 50 99 10000 avgt 15 0.349 ± 0.022 ms/op
AuthorizerBenchmark.testAuthorizer 50 99 50000 avgt 15 1.394 ± 0.048 ms/op
AuthorizerBenchmark.testAuthorizer 50 99.9 10000 avgt 15 0.407 ± 0.021 ms/op
AuthorizerBenchmark.testAuthorizer 50 99.9 50000 avgt 15 1.400 ± 0.052 ms/op
AuthorizerBenchmark.testAuthorizer 50 99.99 10000 avgt 15 0.350 ± 0.020 ms/op
AuthorizerBenchmark.testAuthorizer 50 99.99 50000 avgt 15 1.269 ± 0.038 ms/op
AuthorizerBenchmark.testAuthorizer 50 100 10000 avgt 15 0.337 ± 0.017 ms/op
AuthorizerBenchmark.testAuthorizer 50 100 50000 avgt 15 1.320 ± 0.028 ms/op

  1. In StandardAuthorizerUpdateBenchmark we have a very big error due to AclCache constantly increased in size/
    Change level in setup helps

Test results

Before

Benchmark (aclCount) Mode Cnt Score Error Units
StandardAuthorizerUpdateBenchmark.testAddAcl 25000 avgt 10 5.425 ± 1.723 ms/op
StandardAuthorizerUpdateBenchmark.testAddAcl 50000 avgt 10 4.105 ± 1.683 ms/op
StandardAuthorizerUpdateBenchmark.testAddAcl 75000 avgt 10 5.585 ± 1.446 ms/op
StandardAuthorizerUpdateBenchmark.testAddAcl 100000 avgt 10 8.345 ± 1.216 ms/op_

After

Benchmark (aclCount) Mode Cnt Score Error Units
StandardAuthorizerUpdateBenchmark.testAddAcl 25000 avgt 10 0.844 ± 0.116 ms/op
StandardAuthorizerUpdateBenchmark.testAddAcl 50000 avgt 10 3.363 ± 0.111 ms/op
StandardAuthorizerUpdateBenchmark.testAddAcl 75000 avgt 10 8.104 ± 0.316 ms/op
StandardAuthorizerUpdateBenchmark.testAddAcl 100000 avgt 10 13.527 ± 0.691 ms/op

Committer Checklist (excluded from commit message)

  • Verify design and implementation
  • Verify test coverage and CI build status
  • Verify documentation (including upgrade notes)

@github-actions github-actions bot added triage PRs from the community performance small Small PRs labels Dec 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
performance small Small PRs triage PRs from the community
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant