You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@bookkeeper.apache.org by GitBox <gi...@apache.org> on 2017/12/15 11:52:48 UTC

[GitHub] sijie commented on issue #858: Checksum, ChecksumFactory and Benchmark

sijie commented on issue #858: Checksum, ChecksumFactory and Benchmark
URL: https://github.com/apache/bookkeeper/pull/858#issuecomment-351987853
 
 
   Here is a benchmark result: https://gist.github.com/sijie/6673f1762f9299363f7a1da668e605ba
   
   # JDK 8 - OSX
   
   ## Average Time
   
   ```
   # Run complete. Total time: 00:09:33
   
   Benchmark                               (bytesSize)  Mode  Cnt       Score       Error  Units
   ChecksumBenchmark.directCrc32                     8  avgt   10      16.965 ?     0.607  ns/op
   ChecksumBenchmark.directCrc32                    16  avgt   10      19.589 ?     1.222  ns/op
   ChecksumBenchmark.directCrc32                    32  avgt   10      21.465 ?     1.218  ns/op
   ChecksumBenchmark.directCrc32                   128  avgt   10      28.156 ?     0.981  ns/op
   ChecksumBenchmark.directCrc32                  1024  avgt   10      64.164 ?     1.484  ns/op
   ChecksumBenchmark.directCrc32                 65536  avgt   10    3006.379 ?    61.323  ns/op
   ChecksumBenchmark.directCrc32               1048576  avgt   10   53909.174 ?  1280.647  ns/op
   ChecksumBenchmark.directPureJavaCrc32c            8  avgt   10      40.758 ?     1.652  ns/op
   ChecksumBenchmark.directPureJavaCrc32c           16  avgt   10      42.444 ?     1.046  ns/op
   ChecksumBenchmark.directPureJavaCrc32c           32  avgt   10      50.569 ?     1.015  ns/op
   ChecksumBenchmark.directPureJavaCrc32c          128  avgt   10     107.739 ?     2.228  ns/op
   ChecksumBenchmark.directPureJavaCrc32c         1024  avgt   10     673.990 ?    14.334  ns/op
   ChecksumBenchmark.directPureJavaCrc32c        65536  avgt   10   38625.075 ?   913.911  ns/op
   ChecksumBenchmark.directPureJavaCrc32c      1048576  avgt   10  659252.408 ? 54720.312  ns/op
   ChecksumBenchmark.heapCrc32                       8  avgt   10      44.275 ?     0.400  ns/op
   ChecksumBenchmark.heapCrc32                      16  avgt   10      54.834 ?     1.688  ns/op
   ChecksumBenchmark.heapCrc32                      32  avgt   10      56.358 ?     0.463  ns/op
   ChecksumBenchmark.heapCrc32                     128  avgt   10     111.608 ?     3.622  ns/op
   ChecksumBenchmark.heapCrc32                    1024  avgt   10     103.274 ?     2.245  ns/op
   ChecksumBenchmark.heapCrc32                   65536  avgt   10    3201.559 ?   102.831  ns/op
   ChecksumBenchmark.heapCrc32                 1048576  avgt   10   52904.677 ?  2946.374  ns/op
   ChecksumBenchmark.heapPureJavaCrc32c              8  avgt   10      17.093 ?     0.401  ns/op
   ChecksumBenchmark.heapPureJavaCrc32c             16  avgt   10      21.492 ?     0.738  ns/op
   ChecksumBenchmark.heapPureJavaCrc32c             32  avgt   10      30.936 ?     1.311  ns/op
   ChecksumBenchmark.heapPureJavaCrc32c            128  avgt   10      91.569 ?     4.324  ns/op
   ChecksumBenchmark.heapPureJavaCrc32c           1024  avgt   10     646.325 ?    17.608  ns/op
   ChecksumBenchmark.heapPureJavaCrc32c          65536  avgt   10   41259.042 ?   526.349  ns/op
   ChecksumBenchmark.heapPureJavaCrc32c        1048576  avgt   10  663384.118 ? 25434.417  ns/op
   ```
   ## Throughput
   
   ```
   Benchmark                               (bytesSize)   Mode  Cnt      Score      Error   Units
   ChecksumBenchmark.directCrc32                     8  thrpt   10  57030.503 ? 2641.554  ops/ms
   ChecksumBenchmark.directCrc32                    16  thrpt   10  49560.111 ? 2378.164  ops/ms
   ChecksumBenchmark.directCrc32                    32  thrpt   10  44901.152 ? 2519.776  ops/ms
   ChecksumBenchmark.directCrc32                   128  thrpt   10  34260.257 ? 3359.958  ops/ms
   ChecksumBenchmark.directCrc32                  1024  thrpt   10  14353.757 ?  404.704  ops/ms
   ChecksumBenchmark.directCrc32                 65536  thrpt   10    308.055 ?   23.832  ops/ms
   ChecksumBenchmark.directCrc32               1048576  thrpt   10     19.023 ?    0.534  ops/ms
   ChecksumBenchmark.directPureJavaCrc32c            8  thrpt   10  24778.365 ?  491.763  ops/ms
   ChecksumBenchmark.directPureJavaCrc32c           16  thrpt   10  22178.802 ?  233.388  ops/ms
   ChecksumBenchmark.directPureJavaCrc32c           32  thrpt   10  18187.181 ?  461.092  ops/ms
   ChecksumBenchmark.directPureJavaCrc32c          128  thrpt   10   8521.582 ?  233.650  ops/ms
   ChecksumBenchmark.directPureJavaCrc32c         1024  thrpt   10   1378.708 ?   29.930  ops/ms
   ChecksumBenchmark.directPureJavaCrc32c        65536  thrpt   10     23.459 ?    1.151  ops/ms
   ChecksumBenchmark.directPureJavaCrc32c      1048576  thrpt   10      1.535 ?    0.054  ops/ms
   ChecksumBenchmark.heapCrc32                       8  thrpt   10  22863.129 ?  691.809  ops/ms
   ChecksumBenchmark.heapCrc32                      16  thrpt   10  18712.593 ?  813.640  ops/ms
   ChecksumBenchmark.heapCrc32                      32  thrpt   10  10760.667 ?  460.645  ops/ms
   ChecksumBenchmark.heapCrc32                     128  thrpt   10  15263.317 ?  577.684  ops/ms
   ChecksumBenchmark.heapCrc32                    1024  thrpt   10   9200.409 ?  314.105  ops/ms
   ChecksumBenchmark.heapCrc32                   65536  thrpt   10    299.557 ?   10.719  ops/ms
   ChecksumBenchmark.heapCrc32                 1048576  thrpt   10     18.369 ?    0.344  ops/ms
   ChecksumBenchmark.heapPureJavaCrc32c              8  thrpt   10  62159.528 ? 2787.709  ops/ms
   ChecksumBenchmark.heapPureJavaCrc32c             16  thrpt   10  48152.247 ? 2185.412  ops/ms
   ChecksumBenchmark.heapPureJavaCrc32c             32  thrpt   10  32938.500 ? 1582.327  ops/ms
   ChecksumBenchmark.heapPureJavaCrc32c            128  thrpt   10  11035.496 ?  416.754  ops/ms
   ChecksumBenchmark.heapPureJavaCrc32c           1024  thrpt   10   1570.226 ?   65.940  ops/ms
   ChecksumBenchmark.heapPureJavaCrc32c          65536  thrpt   10     25.847 ?    0.431  ops/ms
   ChecksumBenchmark.heapPureJavaCrc32c        1048576  thrpt   10      1.625 ?    0.047  ops/ms
   ```
   
   # JDK 9 - OSX (Reflection)
   
   ## Average Time
   
   ```
   # Run complete. Total time: 00:14:18
   
   Benchmark                               (bytesSize)  Mode  Cnt       Score       Error  Units
   ChecksumBenchmark.directCrc32                     8  avgt   10      21.337 ?     2.923  ns/op
   ChecksumBenchmark.directCrc32                    16  avgt   10      22.882 ?     2.764  ns/op
   ChecksumBenchmark.directCrc32                    32  avgt   10      22.842 ?     1.034  ns/op
   ChecksumBenchmark.directCrc32                   128  avgt   10      31.475 ?     0.596  ns/op
   ChecksumBenchmark.directCrc32                  1024  avgt   10      71.738 ?     2.554  ns/op
   ChecksumBenchmark.directCrc32                 65536  avgt   10    3288.045 ?    47.159  ns/op
   ChecksumBenchmark.directCrc32               1048576  avgt   10   51993.883 ?  2050.129  ns/op
   ChecksumBenchmark.directJava9Crc32c               8  avgt   10      30.699 ?     1.348  ns/op
   ChecksumBenchmark.directJava9Crc32c              16  avgt   10      32.061 ?     1.225  ns/op
   ChecksumBenchmark.directJava9Crc32c              32  avgt   10      34.547 ?     1.827  ns/op
   ChecksumBenchmark.directJava9Crc32c             128  avgt   10      50.805 ?     1.689  ns/op
   ChecksumBenchmark.directJava9Crc32c            1024  avgt   10     142.400 ?     8.058  ns/op
   ChecksumBenchmark.directJava9Crc32c           65536  avgt   10    2721.319 ?    66.353  ns/op
   ChecksumBenchmark.directJava9Crc32c         1048576  avgt   10   43914.531 ?  1743.097  ns/op
   ChecksumBenchmark.directPureJavaCrc32c            8  avgt   10      25.793 ?     0.695  ns/op
   ChecksumBenchmark.directPureJavaCrc32c           16  avgt   10      32.025 ?     1.117  ns/op
   ChecksumBenchmark.directPureJavaCrc32c           32  avgt   10      37.347 ?     0.825  ns/op
   ChecksumBenchmark.directPureJavaCrc32c          128  avgt   10     110.580 ?     7.116  ns/op
   ChecksumBenchmark.directPureJavaCrc32c         1024  avgt   10     846.672 ?    24.087  ns/op
   ChecksumBenchmark.directPureJavaCrc32c        65536  avgt   10   49293.276 ?   704.137  ns/op
   ChecksumBenchmark.directPureJavaCrc32c      1048576  avgt   10  756952.410 ? 32280.932  ns/op
   ChecksumBenchmark.heapCrc32                       8  avgt   10      41.518 ?     0.847  ns/op
   ChecksumBenchmark.heapCrc32                      16  avgt   10      51.455 ?     1.643  ns/op
   ChecksumBenchmark.heapCrc32                      32  avgt   10      54.053 ?     1.960  ns/op
   ChecksumBenchmark.heapCrc32                     128  avgt   10      62.851 ?     2.312  ns/op
   ChecksumBenchmark.heapCrc32                    1024  avgt   10     105.530 ?     3.782  ns/op
   ChecksumBenchmark.heapCrc32                   65536  avgt   10    3089.473 ?    55.051  ns/op
   ChecksumBenchmark.heapCrc32                 1048576  avgt   10   51206.638 ?  1992.458  ns/op
   ChecksumBenchmark.heapJava9Crc32c                 8  avgt   10      59.710 ?     6.914  ns/op
   ChecksumBenchmark.heapJava9Crc32c                16  avgt   10      57.159 ?     0.884  ns/op
   ChecksumBenchmark.heapJava9Crc32c                32  avgt   10      58.731 ?     0.636  ns/op
   ChecksumBenchmark.heapJava9Crc32c               128  avgt   10      73.872 ?     0.875  ns/op
   ChecksumBenchmark.heapJava9Crc32c              1024  avgt   10     165.639 ?     1.525  ns/op
   ChecksumBenchmark.heapJava9Crc32c             65536  avgt   10    2763.597 ?    23.432  ns/op
   ChecksumBenchmark.heapJava9Crc32c           1048576  avgt   10   43805.732 ?   527.017  ns/op
   ChecksumBenchmark.heapPureJavaCrc32c              8  avgt   10      16.506 ?     0.768  ns/op
   ChecksumBenchmark.heapPureJavaCrc32c             16  avgt   10      20.698 ?     0.666  ns/op
   ChecksumBenchmark.heapPureJavaCrc32c             32  avgt   10      28.907 ?     0.796  ns/op
   ChecksumBenchmark.heapPureJavaCrc32c            128  avgt   10      87.925 ?     1.777  ns/op
   ChecksumBenchmark.heapPureJavaCrc32c           1024  avgt   10     763.327 ?     6.626  ns/op
   ChecksumBenchmark.heapPureJavaCrc32c          65536  avgt   10   47880.775 ?   460.045  ns/op
   ChecksumBenchmark.heapPureJavaCrc32c        1048576  avgt   10  770773.183 ?  7434.976  ns/op
   ```
   
   ## Throughput
   
   ```
   # Run complete. Total time: 00:14:19
   
   Benchmark                               (bytesSize)   Mode  Cnt      Score      Error   Units
   ChecksumBenchmark.directCrc32                     8  thrpt   10  44289.672 ? 6041.705  ops/ms
   ChecksumBenchmark.directCrc32                    16  thrpt   10  45092.278 ?  725.463  ops/ms
   ChecksumBenchmark.directCrc32                    32  thrpt   10  39489.339 ? 2460.424  ops/ms
   ChecksumBenchmark.directCrc32                   128  thrpt   10  31394.951 ? 1644.819  ops/ms
   ChecksumBenchmark.directCrc32                  1024  thrpt   10  13945.267 ?  214.873  ops/ms
   ChecksumBenchmark.directCrc32                 65536  thrpt   10    306.680 ?    2.665  ops/ms
   ChecksumBenchmark.directCrc32               1048576  thrpt   10     18.864 ?    0.206  ops/ms
   ChecksumBenchmark.directJava9Crc32c               8  thrpt   10  31223.367 ?  459.933  ops/ms
   ChecksumBenchmark.directJava9Crc32c              16  thrpt   10  30151.808 ?  440.328  ops/ms
   ChecksumBenchmark.directJava9Crc32c              32  thrpt   10  28832.615 ?  221.739  ops/ms
   ChecksumBenchmark.directJava9Crc32c             128  thrpt   10  19537.081 ?  154.148  ops/ms
   ChecksumBenchmark.directJava9Crc32c            1024  thrpt   10   6985.833 ?   87.470  ops/ms
   ChecksumBenchmark.directJava9Crc32c           65536  thrpt   10    365.819 ?    2.535  ops/ms
   ChecksumBenchmark.directJava9Crc32c         1048576  thrpt   10     22.787 ?    0.218  ops/ms
   ChecksumBenchmark.directPureJavaCrc32c            8  thrpt   10  36733.677 ?  948.359  ops/ms
   ChecksumBenchmark.directPureJavaCrc32c           16  thrpt   10  31775.595 ?  302.456  ops/ms
   ChecksumBenchmark.directPureJavaCrc32c           32  thrpt   10  25292.718 ?  350.287  ops/ms
   ChecksumBenchmark.directPureJavaCrc32c          128  thrpt   10   8926.821 ?  129.604  ops/ms
   ChecksumBenchmark.directPureJavaCrc32c         1024  thrpt   10   1177.275 ?   29.087  ops/ms
   ChecksumBenchmark.directPureJavaCrc32c        65536  thrpt   10     20.372 ?    0.178  ops/ms
   ChecksumBenchmark.directPureJavaCrc32c      1048576  thrpt   10      1.259 ?    0.011  ops/ms
   ChecksumBenchmark.heapCrc32                       8  thrpt   10  22709.299 ?  230.244  ops/ms
   ChecksumBenchmark.heapCrc32                      16  thrpt   10  18628.524 ?   99.088  ops/ms
   ChecksumBenchmark.heapCrc32                      32  thrpt   10  17667.413 ?  276.774  ops/ms
   ChecksumBenchmark.heapCrc32                     128  thrpt   10  15097.280 ?  115.949  ops/ms
   ChecksumBenchmark.heapCrc32                    1024  thrpt   10   9084.299 ?  128.610  ops/ms
   ChecksumBenchmark.heapCrc32                   65536  thrpt   10    301.846 ?    2.729  ops/ms
   ChecksumBenchmark.heapCrc32                 1048576  thrpt   10     18.862 ?    0.185  ops/ms
   ChecksumBenchmark.heapJava9Crc32c                 8  thrpt   10  17615.027 ?  184.257  ops/ms
   ChecksumBenchmark.heapJava9Crc32c                16  thrpt   10  17595.770 ?  168.358  ops/ms
   ChecksumBenchmark.heapJava9Crc32c                32  thrpt   10  17049.900 ?  130.985  ops/ms
   ChecksumBenchmark.heapJava9Crc32c               128  thrpt   10  13569.791 ?  144.857  ops/ms
   ChecksumBenchmark.heapJava9Crc32c              1024  thrpt   10   6051.444 ?   53.042  ops/ms
   ChecksumBenchmark.heapJava9Crc32c             65536  thrpt   10    361.814 ?    5.190  ops/ms
   ChecksumBenchmark.heapJava9Crc32c           1048576  thrpt   10     22.823 ?    0.194  ops/ms
   ChecksumBenchmark.heapPureJavaCrc32c              8  thrpt   10  55940.831 ? 8904.114  ops/ms
   ChecksumBenchmark.heapPureJavaCrc32c             16  thrpt   10  44987.892 ? 5309.139  ops/ms
   ChecksumBenchmark.heapPureJavaCrc32c             32  thrpt   10  35176.466 ?  976.421  ops/ms
   ChecksumBenchmark.heapPureJavaCrc32c            128  thrpt   10  11326.561 ?  317.927  ops/ms
   ChecksumBenchmark.heapPureJavaCrc32c           1024  thrpt   10   1315.333 ?   12.924  ops/ms
   ChecksumBenchmark.heapPureJavaCrc32c          65536  thrpt   10     20.816 ?    0.220  ops/ms
   ChecksumBenchmark.heapPureJavaCrc32c        1048576  thrpt   10      1.302 ?    0.017  ops/ms
   ```
   
   # JDK 9 - OSX
   
   ## Latency
   
   ```
   # Run complete. Total time: 00:14:24
   
   Benchmark                               (bytesSize)  Mode  Cnt       Score        Error  Units
   ChecksumBenchmark.directCrc32                     8  avgt   10      23.269 ?      1.206  ns/op
   ChecksumBenchmark.directCrc32                    16  avgt   10      24.719 ?      2.275  ns/op
   ChecksumBenchmark.directCrc32                    32  avgt   10      26.085 ?      0.857  ns/op
   ChecksumBenchmark.directCrc32                   128  avgt   10      33.260 ?      1.275  ns/op
   ChecksumBenchmark.directCrc32                  1024  avgt   10      74.687 ?      2.711  ns/op
   ChecksumBenchmark.directCrc32                 65536  avgt   10    3358.039 ?     68.888  ns/op
   ChecksumBenchmark.directCrc32               1048576  avgt   10   58042.608 ?   1709.195  ns/op
   ChecksumBenchmark.directJava9Crc32c               8  avgt   10      10.678 ?      0.362  ns/op
   ChecksumBenchmark.directJava9Crc32c              16  avgt   10      11.340 ?      0.272  ns/op
   ChecksumBenchmark.directJava9Crc32c              32  avgt   10      13.466 ?      0.678  ns/op
   ChecksumBenchmark.directJava9Crc32c             128  avgt   10      42.253 ?      3.784  ns/op
   ChecksumBenchmark.directJava9Crc32c            1024  avgt   10     126.907 ?      1.742  ns/op
   ChecksumBenchmark.directJava9Crc32c           65536  avgt   10    2821.690 ?    148.798  ns/op
   ChecksumBenchmark.directJava9Crc32c         1048576  avgt   10   47460.496 ?   3812.113  ns/op
   ChecksumBenchmark.directPureJavaCrc32c            8  avgt   10      31.764 ?      3.210  ns/op
   ChecksumBenchmark.directPureJavaCrc32c           16  avgt   10      35.375 ?      1.938  ns/op
   ChecksumBenchmark.directPureJavaCrc32c           32  avgt   10      43.054 ?      1.263  ns/op
   ChecksumBenchmark.directPureJavaCrc32c          128  avgt   10     119.667 ?      4.841  ns/op
   ChecksumBenchmark.directPureJavaCrc32c         1024  avgt   10     958.716 ?    212.107  ns/op
   ChecksumBenchmark.directPureJavaCrc32c        65536  avgt   10   57980.041 ?   9772.536  ns/op
   ChecksumBenchmark.directPureJavaCrc32c      1048576  avgt   10  891252.362 ? 110748.475  ns/op
   ChecksumBenchmark.heapCrc32                       8  avgt   10      49.222 ?      5.351  ns/op
   ChecksumBenchmark.heapCrc32                      16  avgt   10      69.263 ?      8.194  ns/op
   ChecksumBenchmark.heapCrc32                      32  avgt   10      61.747 ?      7.609  ns/op
   ChecksumBenchmark.heapCrc32                     128  avgt   10     116.916 ?      9.018  ns/op
   ChecksumBenchmark.heapCrc32                    1024  avgt   10     110.988 ?      2.266  ns/op
   ChecksumBenchmark.heapCrc32                   65536  avgt   10    3363.763 ?     56.333  ns/op
   ChecksumBenchmark.heapCrc32                 1048576  avgt   10   61647.557 ?   8466.772  ns/op
   ChecksumBenchmark.heapJava9Crc32c                 8  avgt   10      33.020 ?      2.274  ns/op
   ChecksumBenchmark.heapJava9Crc32c                16  avgt   10      38.823 ?      5.299  ns/op
   ChecksumBenchmark.heapJava9Crc32c                32  avgt   10      40.176 ?      5.707  ns/op
   ChecksumBenchmark.heapJava9Crc32c               128  avgt   10      57.608 ?      5.196  ns/op
   ChecksumBenchmark.heapJava9Crc32c              1024  avgt   10     149.989 ?      5.271  ns/op
   ChecksumBenchmark.heapJava9Crc32c             65536  avgt   10    3054.999 ?    298.969  ns/op
   ChecksumBenchmark.heapJava9Crc32c           1048576  avgt   10   52401.719 ?   8688.494  ns/op
   ChecksumBenchmark.heapPureJavaCrc32c              8  avgt   10      17.177 ?      0.995  ns/op
   ChecksumBenchmark.heapPureJavaCrc32c             16  avgt   10      21.573 ?      0.739  ns/op
   ChecksumBenchmark.heapPureJavaCrc32c             32  avgt   10      29.707 ?      1.222  ns/op
   ChecksumBenchmark.heapPureJavaCrc32c            128  avgt   10      99.552 ?     20.235  ns/op
   ChecksumBenchmark.heapPureJavaCrc32c           1024  avgt   10     920.849 ?    122.636  ns/op
   ChecksumBenchmark.heapPureJavaCrc32c          65536  avgt   10   51097.527 ?   2701.982  ns/op
   ChecksumBenchmark.heapPureJavaCrc32c        1048576  avgt   10  878834.589 ?  88026.814  ns/op
   ```
   
   ## Throughput
   
   ```
   # Run complete. Total time: 00:14:21
   
   Benchmark                               (bytesSize)   Mode  Cnt      Score      Error   Units
   ChecksumBenchmark.directCrc32                     8  thrpt   10  40456.643 ? 8494.890  ops/ms
   ChecksumBenchmark.directCrc32                    16  thrpt   10  44992.419 ?  995.261  ops/ms
   ChecksumBenchmark.directCrc32                    32  thrpt   10  41528.827 ?  432.880  ops/ms
   ChecksumBenchmark.directCrc32                   128  thrpt   10  32113.684 ? 1142.629  ops/ms
   ChecksumBenchmark.directCrc32                  1024  thrpt   10  14008.246 ?  261.661  ops/ms
   ChecksumBenchmark.directCrc32                 65536  thrpt   10    307.120 ?    2.841  ops/ms
   ChecksumBenchmark.directCrc32               1048576  thrpt   10     18.732 ?    0.465  ops/ms
   ChecksumBenchmark.directJava9Crc32c               8  thrpt   10  94723.346 ? 2376.901  ops/ms
   ChecksumBenchmark.directJava9Crc32c              16  thrpt   10  85501.190 ? 3593.666  ops/ms
   ChecksumBenchmark.directJava9Crc32c              32  thrpt   10  71519.664 ?  562.874  ops/ms
   ChecksumBenchmark.directJava9Crc32c             128  thrpt   10  25277.502 ?  343.952  ops/ms
   ChecksumBenchmark.directJava9Crc32c            1024  thrpt   10   8007.975 ?   97.824  ops/ms
   ChecksumBenchmark.directJava9Crc32c           65536  thrpt   10    356.384 ?    9.853  ops/ms
   ChecksumBenchmark.directJava9Crc32c         1048576  thrpt   10     21.076 ?    1.311  ops/ms
   ChecksumBenchmark.directPureJavaCrc32c            8  thrpt   10  32952.354 ? 1398.887  ops/ms
   ChecksumBenchmark.directPureJavaCrc32c           16  thrpt   10  29103.502 ?  949.252  ops/ms
   ChecksumBenchmark.directPureJavaCrc32c           32  thrpt   10  22805.163 ? 1512.259  ops/ms
   ChecksumBenchmark.directPureJavaCrc32c          128  thrpt   10   8042.030 ?  372.644  ops/ms
   ChecksumBenchmark.directPureJavaCrc32c         1024  thrpt   10   1089.389 ?   41.645  ops/ms
   ChecksumBenchmark.directPureJavaCrc32c        65536  thrpt   10     19.381 ?    0.368  ops/ms
   ChecksumBenchmark.directPureJavaCrc32c      1048576  thrpt   10      1.119 ?    0.046  ops/ms
   ChecksumBenchmark.heapCrc32                       8  thrpt   10  22299.625 ?  492.118  ops/ms
   ChecksumBenchmark.heapCrc32                      16  thrpt   10  18473.255 ?  403.798  ops/ms
   ChecksumBenchmark.heapCrc32                      32  thrpt   10  17704.321 ?  200.617  ops/ms
   ChecksumBenchmark.heapCrc32                     128  thrpt   10  15297.586 ?  194.319  ops/ms
   ChecksumBenchmark.heapCrc32                    1024  thrpt   10   6458.630 ?   67.556  ops/ms
   ChecksumBenchmark.heapCrc32                   65536  thrpt   10    289.548 ?   13.174  ops/ms
   ChecksumBenchmark.heapCrc32                 1048576  thrpt   10     17.685 ?    0.472  ops/ms
   ChecksumBenchmark.heapJava9Crc32c                 8  thrpt   10  31056.838 ?  707.591  ops/ms
   ChecksumBenchmark.heapJava9Crc32c                16  thrpt   10  31655.759 ?  189.925  ops/ms
   ChecksumBenchmark.heapJava9Crc32c                32  thrpt   10  27897.020 ?  704.504  ops/ms
   ChecksumBenchmark.heapJava9Crc32c               128  thrpt   10  17968.942 ?  152.701  ops/ms
   ChecksumBenchmark.heapJava9Crc32c              1024  thrpt   10   6588.710 ?  219.655  ops/ms
   ChecksumBenchmark.heapJava9Crc32c             65536  thrpt   10    343.256 ?   25.527  ops/ms
   ChecksumBenchmark.heapJava9Crc32c           1048576  thrpt   10     20.693 ?    0.970  ops/ms
   ChecksumBenchmark.heapPureJavaCrc32c              8  thrpt   10  59503.753 ? 1262.512  ops/ms
   ChecksumBenchmark.heapPureJavaCrc32c             16  thrpt   10  44405.367 ? 3667.886  ops/ms
   ChecksumBenchmark.heapPureJavaCrc32c             32  thrpt   10  32330.721 ? 2451.113  ops/ms
   ChecksumBenchmark.heapPureJavaCrc32c            128  thrpt   10  10461.108 ?  481.792  ops/ms
   ChecksumBenchmark.heapPureJavaCrc32c           1024  thrpt   10   1294.645 ?   22.243  ops/ms
   ChecksumBenchmark.heapPureJavaCrc32c          65536  thrpt   10     20.384 ?    0.229  ops/ms
   ChecksumBenchmark.heapPureJavaCrc32c        1048576  thrpt   10      1.234 ?    0.073  ops/ms
   ```
   
   
   A couple of notes:
   
   - I didn't tune jvm settings to run the benchmark. so everything is default.
   - java 9 (reflection) means using reflection to execute java 9 crc32c methods, java 9 means using the CRC32C instance directly (I manually compiled one version).
   - I didn't include `pulsar-checksum` in this benchmark yet.
   - I didn't use any netty buffer pool in the test
   
   A few interesting things:
   
   - using reflection to execute java9 crc32c makes the performance a bit worse than crc32
   - the native java9 crc32c's performance does show better performance, especially on small entries. However I didn't check the gc allocation rate, will run profilers and tune jvm settings and re-run this benchmarks.
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services