Skip to content

Conversation

@sgup432
Copy link
Contributor

@sgup432 sgup432 commented Jan 21, 2026

Description

Benchmarking BufferedChecksum with:

  • bulk update
  • small updates (1 byte at a time)
  • CRC32 vs CRC32C
  • With data size 1kb vs 8kb vs 64kb
  • buffer size 1KB(existing default) vs 2KB

Related issue - #15572

Results:

Instance type: c7i.xlarge, x86_64, 4 cpu cores, Intel Xeon Scalable (Sapphire Rapids)

Benchmark                                             (bufferSize)  (dataSize)   Mode  Cnt         Score        Error  Units
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             1024        1024  thrpt    5   9887794.992 ± 131732.995  ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             1024        8192  thrpt    5   8600855.020 ± 810376.487  ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             1024       65536  thrpt    5   1116276.132 ±  93292.876  ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             2048        1024  thrpt    5   4351973.708 ±  99106.594  ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             2048        8192  thrpt    5   4796447.132 ± 113950.204  ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             2048       65536  thrpt    5   1005158.229 ±  94266.016  ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             4096        1024  thrpt    5   2509514.355 ±  40768.314  ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             4096        8192  thrpt    5   2584015.391 ±  32882.620  ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             4096       65536  thrpt    5    804505.495 ±  99957.825  ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            1024        1024  thrpt    5  10062558.511 ± 256705.091  ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            1024        8192  thrpt    5   9102224.869 ± 627975.453  ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            1024       65536  thrpt    5   1092317.052 ±  66264.814  ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            2048        1024  thrpt    5   4349527.733 ± 161334.767  ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            2048        8192  thrpt    5   4791091.597 ± 103774.418  ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            2048       65536  thrpt    5   1003258.845 ± 120364.426  ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            4096        1024  thrpt    5   2491898.139 ±  51080.979  ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            4096        8192  thrpt    5   2489282.860 ±  39426.578  ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            4096       65536  thrpt    5    764021.871 ±  63332.719  ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          1024        1024  thrpt    5   3764390.374 ± 101930.851  ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          1024        8192  thrpt    5     81562.691 ±   4204.021  ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          1024       65536  thrpt    5     10537.198 ±    701.039  ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          2048        1024  thrpt    5   2666008.130 ± 220295.589  ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          2048        8192  thrpt    5     80451.564 ±   3010.436  ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          2048       65536  thrpt    5     10228.176 ±    509.298  ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          4096        1024  thrpt    5   1834322.410 ±  93142.829  ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          4096        8192  thrpt    5     81838.843 ±   5663.574  ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          4096       65536  thrpt    5     10394.137 ±    444.511  ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           1024        1024  thrpt    5   3831353.059 ± 211804.643  ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           1024        8192  thrpt    5     82738.087 ±   3857.472  ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           1024       65536  thrpt    5     10120.856 ±    854.653  ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           2048        1024  thrpt    5   2627296.315 ± 210032.633  ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           2048        8192  thrpt    5     78946.295 ±   3655.798  ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           2048       65536  thrpt    5     10376.899 ±    538.447  ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           4096        1024  thrpt    5   1861617.589 ±  61810.981  ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           4096        8192  thrpt    5     79591.899 ±   4956.922  ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           4096       65536  thrpt    5     10068.108 ±    777.323  ops/s

 


@sgup432
Copy link
Contributor Author

sgup432 commented Jan 21, 2026

Ran the same benchmark on Mac M4

Benchmark                                             (bufferSize)  (dataSize)   Mode  Cnt         Score         Error  Units
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             1024        1024  thrpt    5  11678919.697 ± 1381649.476  ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             1024        8192  thrpt    5   1412275.878 ±  275267.305  ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             1024       65536  thrpt    5    179148.511 ±    4012.032  ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             2048        1024  thrpt    5   9546763.984 ±  923983.559  ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             2048        8192  thrpt    5   1444321.010 ±   23274.300  ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             2048       65536  thrpt    5    178116.375 ±    8348.010  ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             4096        1024  thrpt    5   3895721.394 ±  260969.747  ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             4096        8192  thrpt    5   1407818.144 ±  129695.405  ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             4096       65536  thrpt    5    176733.201 ±    5946.570  ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            1024        1024  thrpt    5  12108854.125 ± 1627459.882  ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            1024        8192  thrpt    5   1349281.379 ±   16004.212  ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            1024       65536  thrpt    5    180656.784 ±    3992.877  ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            2048        1024  thrpt    5   9499063.694 ±  668348.310  ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            2048        8192  thrpt    5   1375199.776 ±  183965.440  ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            2048       65536  thrpt    5    170188.619 ±   12272.693  ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            4096        1024  thrpt    5   3993885.668 ±   83363.572  ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            4096        8192  thrpt    5   1398585.361 ±  128328.017  ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            4096       65536  thrpt    5    175385.980 ±   15931.960  ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          1024        1024  thrpt    5   4467798.052 ±   71936.590  ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          1024        8192  thrpt    5    132755.405 ±     568.698  ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          1024       65536  thrpt    5     16547.688 ±     738.535  ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          2048        1024  thrpt    5   4017503.784 ±  171877.167  ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          2048        8192  thrpt    5    132107.353 ±    1105.236  ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          2048       65536  thrpt    5     16587.080 ±     188.340  ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          4096        1024  thrpt    5   2583560.507 ±   63344.756  ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          4096        8192  thrpt    5    130010.765 ±    1491.139  ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          4096       65536  thrpt    5     16124.825 ±    1513.221  ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           1024        1024  thrpt    5   4525725.961 ±   58921.941  ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           1024        8192  thrpt    5    131841.602 ±    2658.544  ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           1024       65536  thrpt    5     16596.522 ±     103.243  ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           2048        1024  thrpt    5   3929220.859 ±   97103.459  ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           2048        8192  thrpt    5    130077.110 ±    2745.635  ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           2048       65536  thrpt    5     16401.660 ±     352.938  ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           4096        1024  thrpt    5   2630798.819 ±  176930.028  ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           4096        8192  thrpt    5    127071.074 ±    2288.290  ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           4096       65536  thrpt    5     16102.418 ±     778.704  ops/s

@sgup432
Copy link
Contributor Author

sgup432 commented Jan 23, 2026

Ran again with additional 4kb data size. Instance type: c7i.xlarge, x86_64, 4 cpu cores, Intel Xeon Scalable (Sapphire Rapids)

Benchmark                                             (bufferSize)  (dataSize)   Mode  Cnt         Score         Error  Units
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             1024        1024  thrpt    5   9950964.760 ±  145957.528  ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             1024        4096  thrpt    5  10265862.104 ±   58937.369  ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             1024        8192  thrpt    5   8975212.760 ±  786107.840  ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             1024       65536  thrpt    5   1046607.812 ±  112065.307  ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             2048        1024  thrpt    5   4307059.868 ±   97957.248  ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             2048        4096  thrpt    5   4811144.681 ±   97577.435  ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             2048        8192  thrpt    5   4748904.709 ±   56883.354  ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             2048       65536  thrpt    5    931753.159 ±  148795.963  ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             4096        1024  thrpt    5   2514773.749 ±   55443.285  ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             4096        4096  thrpt    5   2573851.927 ±   18640.005  ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             4096        8192  thrpt    5   2542020.771 ±   50491.028  ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             4096       65536  thrpt    5    807961.896 ±  111765.019  ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            1024        1024  thrpt    5  10039229.346 ±  151868.075  ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            1024        4096  thrpt    5  10275408.317 ±  121470.071  ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            1024        8192  thrpt    5   9065843.453 ± 1295531.328  ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            1024       65536  thrpt    5   1044292.673 ±  233912.260  ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            2048        1024  thrpt    5   4288350.953 ±   92841.070  ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            2048        4096  thrpt    5   4817109.359 ±  120299.348  ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            2048        8192  thrpt    5   4755074.658 ±   48730.882  ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            2048       65536  thrpt    5    890826.786 ±   23628.931  ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            4096        1024  thrpt    5   2484271.619 ±   12241.574  ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            4096        4096  thrpt    5   2561171.546 ±   25420.838  ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            4096        8192  thrpt    5   2534815.935 ±   37023.846  ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            4096       65536  thrpt    5    783956.387 ±   80536.063  ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          1024        1024  thrpt    5   3830159.646 ±  206815.552  ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          1024        4096  thrpt    5    163247.298 ±   11799.204  ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          1024        8192  thrpt    5     82982.555 ±    4519.998  ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          1024       65536  thrpt    5     10449.086 ±     680.839  ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          2048        1024  thrpt    5   2654005.839 ±  186110.178  ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          2048        4096  thrpt    5    156621.688 ±    3102.537  ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          2048        8192  thrpt    5     79932.403 ±    3459.523  ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          2048       65536  thrpt    5     10219.292 ±     656.992  ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          4096        1024  thrpt    5   1839757.367 ±   16094.269  ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          4096        4096  thrpt    5    462585.819 ±   29022.218  ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          4096        8192  thrpt    5     77895.428 ±    2222.875  ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          4096       65536  thrpt    5     10292.157 ±     571.518  ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           1024        1024  thrpt    5   3723112.914 ±  270215.143  ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           1024        4096  thrpt    5    161577.145 ±    5848.494  ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           1024        8192  thrpt    5     81266.283 ±    3101.707  ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           1024       65536  thrpt    5     10124.359 ±    1063.885  ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           2048        1024  thrpt    5   2599424.744 ±  144356.161  ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           2048        4096  thrpt    5    157807.644 ±    9336.676  ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           2048        8192  thrpt    5     80666.194 ±    2772.467  ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           2048       65536  thrpt    5     10087.170 ±     709.310  ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           4096        1024  thrpt    5   1833500.441 ±   46584.131  ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           4096        4096  thrpt    5    452699.888 ±   22227.864  ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           4096        8192  thrpt    5     77531.660 ±    4747.254  ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           4096       65536  thrpt    5     10111.248 ±     366.803  ops/s

Summarizing

BulkUpdate

Data Size CRC 1KB Buffer (ops/s) 2KB Buffer (ops/s) Δ 2KB vs 1KB
1KB CRC32 9,950,965 4,307,060 -56.7%
1KB CRC32C 10,039,229 4,288,351 -57.3%
4KB CRC32 10,265,862 4,811,145 -53.1%
4KB CRC32C 10,275,408 4,817,109 -53.1%
8KB CRC32 8,975,213 4,748,905 -47.1%
8KB CRC32C 9,065,843 4,755,075 -47.6%
64KB CRC32 1,046,608 931,753 -11.0%
64KB CRC32C 1,044,293 890,827 -14.7%

SmallUpdates

Data Size CRC 1KB Buffer (ops/s) 2KB Buffer (ops/s) Δ 2KB vs 1KB
1KB CRC32 3,723,113 2,599,425 -30.2%
1KB CRC32C 3,830,160 2,654,006 -30.7%
4KB CRC32 161,577 157,808 -2.3%
4KB CRC32C 163,247 156,622 -4.1%
8KB CRC32 81,266 80,666 -0.7%
8KB CRC32C 82,983 79,932 -3.7%
64KB CRC32 10,124 10,087 -0.4%
64KB CRC32C 10,449 10,219 -2.2%

@sgup432
Copy link
Contributor Author

sgup432 commented Jan 23, 2026

Similarly ran against Apple M4

Benchmark                                             (bufferSize)  (dataSize)   Mode  Cnt         Score         Error  Units
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             1024        1024  thrpt    5  11033347.312 ±  486543.958  ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             1024        4096  thrpt    5   2916763.729 ±  148801.071  ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             1024        8192  thrpt    5   1452270.943 ±   46163.594  ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             1024       65536  thrpt    5    175557.698 ±   18660.892  ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             2048        1024  thrpt    5   8657501.677 ± 1924509.399  ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             2048        4096  thrpt    5   2725150.293 ±  700687.647  ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             2048        8192  thrpt    5   1276762.419 ±    8958.865  ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             2048       65536  thrpt    5    162879.065 ±    9015.787  ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             4096        1024  thrpt    5   3428587.590 ±  901644.209  ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             4096        4096  thrpt    5   2556549.730 ±  395426.999  ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             4096        8192  thrpt    5   1407350.008 ±  111892.803  ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             4096       65536  thrpt    5    172244.224 ±   30948.466  ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            1024        1024  thrpt    5  11850821.295 ± 3739062.462  ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            1024        4096  thrpt    5   2579438.772 ±   57219.141  ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            1024        8192  thrpt    5   1309757.909 ±   46750.392  ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            1024       65536  thrpt    5    159317.835 ±    3179.889  ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            2048        1024  thrpt    5   8506218.507 ± 2151147.020  ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            2048        4096  thrpt    5   2829015.342 ±  136648.644  ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            2048        8192  thrpt    5   1386044.328 ±  247225.844  ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            2048       65536  thrpt    5    178955.821 ±    7851.410  ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            4096        1024  thrpt    5   3911332.224 ±   89488.287  ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            4096        4096  thrpt    5   2675538.935 ±  270428.367  ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            4096        8192  thrpt    5   1400055.961 ±   44684.248  ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            4096       65536  thrpt    5    166494.295 ±   19562.968  ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          1024        1024  thrpt    5   4103839.800 ±  839590.767  ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          1024        4096  thrpt    5    255812.020 ±    9021.040  ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          1024        8192  thrpt    5    128403.945 ±    7374.554  ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          1024       65536  thrpt    5     16049.651 ±     580.260  ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          2048        1024  thrpt    5   3832549.987 ±   92587.904  ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          2048        4096  thrpt    5    255650.979 ±    9021.498  ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          2048        8192  thrpt    5    128319.532 ±    6488.124  ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          2048       65536  thrpt    5     16417.572 ±     252.944  ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          4096        1024  thrpt    5   2599550.300 ±  105073.585  ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          4096        4096  thrpt    5    674212.238 ±   14822.062  ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          4096        8192  thrpt    5    129113.539 ±    1395.325  ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          4096       65536  thrpt    5     16235.745 ±     638.816  ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           1024        1024  thrpt    5   4414883.519 ±   39030.388  ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           1024        4096  thrpt    5    262519.171 ±    4622.787  ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           1024        8192  thrpt    5    131561.740 ±    1814.639  ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           1024       65536  thrpt    5     16401.827 ±     382.728  ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           2048        1024  thrpt    5   3628139.580 ±  611524.757  ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           2048        4096  thrpt    5    256813.287 ±    6936.480  ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           2048        8192  thrpt    5    129828.118 ±    2258.305  ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           2048       65536  thrpt    5     16383.365 ±     298.893  ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           4096        1024  thrpt    5   2667428.015 ±   73353.271  ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           4096        4096  thrpt    5    672901.099 ±   65177.762  ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           4096        8192  thrpt    5    126821.917 ±   14996.824  ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           4096       65536  thrpt    5     15070.362 ±    1565.041  ops/s

Summarizing

BulkUpdate

Data Size CRC 1KB Buffer (ops/s) 2KB Buffer (ops/s) Δ 2KB vs 1KB
1KB CRC32 11,033,347 8,657,502 -21.5%
1KB CRC32C 11,850,821 8,506,219 -28.2%
4KB CRC32 2,916,764 2,725,150 -6.6%
4KB CRC32C 2,579,439 2,829,015 +9.7%
8KB CRC32 1,452,271 1,276,762 -12.1%
8KB CRC32C 1,309,758 1,386,044 +5.8%
64KB CRC32 175,558 162,879 -7.2%
64KB CRC32C 159,318 178,956 +12.3%

SmallUpdates

Data Size CRC 1KB Buffer (ops/s) 2KB Buffer (ops/s) Δ 2KB vs 1KB
1KB CRC32 4,414,884 3,628,140 -17.8%
1KB CRC32C 4,103,840 3,832,550 -6.6%
4KB CRC32 262,519 256,813 -2.2%
4KB CRC32C 255,812 255,651 -0.1%
8KB CRC32 131,562 129,828 -1.3%
8KB CRC32C 128,404 128,320 -0.1%
64KB CRC32 16,402 16,383 -0.1%
64KB CRC32C 16,050 16,418 +2.3%

@sgup432
Copy link
Contributor Author

sgup432 commented Jan 29, 2026

Comparing direct CRC32/32C vs our buffered custom CRC32/32C logic. Also compares single byte updates.
Added more data size

C7i.xlarge instance type

Benchmark                                             (bufferSize)  (dataSize)   Mode  Cnt          Score   Error  Units
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate              128           1  thrpt        42282023.684          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate              128          16  thrpt        44752821.909          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate              128          64  thrpt        58830152.719          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate              128         128  thrpt        69005394.660          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate              128         256  thrpt        74229773.515          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate              128         512  thrpt        66226546.477          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate              128        1024  thrpt        51949919.319          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate              128        4096  thrpt        18833662.479          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate              128        8192  thrpt        10322241.892          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate              128       65536  thrpt         1064681.815          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate              256           1  thrpt        33791973.260          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate              256          16  thrpt        34588553.965          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate              256          64  thrpt        37267056.005          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate              256         128  thrpt        36148981.388          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate              256         256  thrpt        42514453.007          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate              256         512  thrpt        41630321.636          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate              256        1024  thrpt        41022388.659          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate              256        4096  thrpt        18683088.796          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate              256        8192  thrpt        10145636.892          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate              256       65536  thrpt         1075741.142          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate              512           1  thrpt        19152978.289          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate              512          16  thrpt        19285495.108          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate              512          64  thrpt        19304940.687          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate              512         128  thrpt        19293693.818          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate              512         256  thrpt        17565727.561          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate              512         512  thrpt        20917010.452          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate              512        1024  thrpt        20832681.275          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate              512        4096  thrpt        16769702.133          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate              512        8192  thrpt         9200705.740          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate              512       65536  thrpt         1011860.569          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             1024           1  thrpt        10217200.622          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             1024          16  thrpt        10052146.313          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             1024          64  thrpt         9863842.386          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             1024         128  thrpt         9856711.730          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             1024         256  thrpt         9114770.625          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             1024         512  thrpt         9191298.402          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             1024        1024  thrpt         9868042.222          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             1024        4096  thrpt         9856764.881          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             1024        8192  thrpt         8206968.264          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             1024       65536  thrpt         1037489.994          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             2048           1  thrpt         4918406.037          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             2048          16  thrpt         4945625.460          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             2048          64  thrpt         4861678.138          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             2048         128  thrpt         4708637.485          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             2048         256  thrpt         4797704.575          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             2048         512  thrpt         4717229.843          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             2048        1024  thrpt         4231750.265          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             2048        4096  thrpt         4811683.901          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             2048        8192  thrpt         4656052.213          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             2048       65536  thrpt          936485.440          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             4096           1  thrpt         2717995.517          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             4096          16  thrpt         2732759.076          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             4096          64  thrpt         2643146.585          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             4096         128  thrpt         2607472.731          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             4096         256  thrpt         2568305.005          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             4096         512  thrpt         2537169.568          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             4096        1024  thrpt         2525405.677          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             4096        4096  thrpt         2543211.408          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             4096        8192  thrpt         2520887.893          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             4096       65536  thrpt          768000.722          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             8192           1  thrpt         1376382.013          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             8192          16  thrpt         1372754.782          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             8192          64  thrpt         1376106.445          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             8192         128  thrpt         1392939.871          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             8192         256  thrpt         1379599.263          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             8192         512  thrpt         1388709.328          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             8192        1024  thrpt         1324906.037          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             8192        4096  thrpt         1249926.207          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             8192        8192  thrpt         1292490.114          ops/s
BufferedChecksumBenchmark.bufferedCRC32BulkUpdate             8192       65536  thrpt          602846.162          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate             128           1  thrpt        56853827.344          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate             128          16  thrpt        61514689.266          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate             128          64  thrpt        63724552.272          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate             128         128  thrpt        63995983.723          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate             128         256  thrpt        55973358.479          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate             128         512  thrpt        67390555.026          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate             128        1024  thrpt        51646461.110          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate             128        4096  thrpt        18450358.324          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate             128        8192  thrpt        10159154.378          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate             128       65536  thrpt         1122273.302          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate             256           1  thrpt        38108989.777          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate             256          16  thrpt        40169809.303          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate             256          64  thrpt        39774240.557          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate             256         128  thrpt        31480280.907          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate             256         256  thrpt        41191461.190          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate             256         512  thrpt        41775697.913          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate             256        1024  thrpt        40218334.017          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate             256        4096  thrpt        17344526.047          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate             256        8192  thrpt         9792434.843          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate             256       65536  thrpt         1079581.600          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate             512           1  thrpt        20010901.131          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate             512          16  thrpt        20446900.904          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate             512          64  thrpt        19792078.416          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate             512         128  thrpt        18477455.796          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate             512         256  thrpt        17351539.372          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate             512         512  thrpt        20948332.956          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate             512        1024  thrpt        20841449.295          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate             512        4096  thrpt        16591741.436          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate             512        8192  thrpt         9341178.289          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate             512       65536  thrpt         1083557.947          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            1024           1  thrpt        10274588.979          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            1024          16  thrpt        10337825.476          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            1024          64  thrpt         9901212.203          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            1024         128  thrpt         9034014.437          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            1024         256  thrpt         8745095.084          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            1024         512  thrpt         9070343.548          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            1024        1024  thrpt        10043236.890          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            1024        4096  thrpt         9815660.984          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            1024        8192  thrpt         8656029.476          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            1024       65536  thrpt         1008978.302          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            2048           1  thrpt         5025910.999          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            2048          16  thrpt         5025881.689          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            2048          64  thrpt         4876147.161          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            2048         128  thrpt         4563298.692          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            2048         256  thrpt         4470370.029          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            2048         512  thrpt         4777334.134          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            2048        1024  thrpt         4191123.615          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            2048        4096  thrpt         4849138.936          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            2048        8192  thrpt         4782191.864          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            2048       65536  thrpt          947846.568          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            4096           1  thrpt         2748221.578          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            4096          16  thrpt         2726593.983          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            4096          64  thrpt         2574300.222          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            4096         128  thrpt         2586741.843          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            4096         256  thrpt         2381957.928          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            4096         512  thrpt         2554133.124          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            4096        1024  thrpt         2533657.763          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            4096        4096  thrpt         2526640.698          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            4096        8192  thrpt         2525781.254          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            4096       65536  thrpt          754738.958          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            8192           1  thrpt         1382930.765          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            8192          16  thrpt         1366543.090          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            8192          64  thrpt         1356813.391          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            8192         128  thrpt         1391041.393          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            8192         256  thrpt         1365532.327          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            8192         512  thrpt         1376326.622          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            8192        1024  thrpt         1298215.726          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            8192        4096  thrpt         1246888.413          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            8192        8192  thrpt         1281427.193          ops/s
BufferedChecksumBenchmark.bufferedCRC32CBulkUpdate            8192       65536  thrpt          606987.360          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates           128           1  thrpt        64096074.845          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates           128          16  thrpt        54788295.410          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates           128          64  thrpt        36723847.618          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates           128         128  thrpt        25221206.630          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates           128         256  thrpt         1780617.648          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates           128         512  thrpt          892765.475          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates           128        1024  thrpt          593621.858          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates           128        4096  thrpt          201921.611          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates           128        8192  thrpt          100923.419          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates           128       65536  thrpt            9537.949          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates           256           1  thrpt        40538946.819          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates           256          16  thrpt        37456690.200          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates           256          64  thrpt        30355252.404          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates           256         128  thrpt        21100598.300          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates           256         256  thrpt        13667419.590          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates           256         512  thrpt          927491.557          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates           256        1024  thrpt          807665.645          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates           256        4096  thrpt          201066.339          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates           256        8192  thrpt           95227.963          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates           256       65536  thrpt            9183.011          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates           512           1  thrpt        20045698.556          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates           512          16  thrpt        19596984.965          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates           512          64  thrpt        19053813.669          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates           512         128  thrpt        15339000.168          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates           512         256  thrpt        12514613.499          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates           512         512  thrpt         7541253.541          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates           512        1024  thrpt          838100.021          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates           512        4096  thrpt          206999.570          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates           512        8192  thrpt          101680.332          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates           512       65536  thrpt            9657.303          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          1024           1  thrpt        10400529.888          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          1024          16  thrpt         9487430.395          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          1024          64  thrpt         9442971.270          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          1024         128  thrpt         9026447.823          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          1024         256  thrpt         8279120.290          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          1024         512  thrpt         5781505.188          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          1024        1024  thrpt         3707117.036          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          1024        4096  thrpt          218477.009          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          1024        8192  thrpt          100236.072          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          1024       65536  thrpt            9657.467          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          2048           1  thrpt         5076597.685          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          2048          16  thrpt         4913520.672          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          2048          64  thrpt         4641337.177          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          2048         128  thrpt         4470306.897          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          2048         256  thrpt         4196304.313          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          2048         512  thrpt         3419763.802          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          2048        1024  thrpt         2594803.555          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          2048        4096  thrpt          207187.065          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          2048        8192  thrpt           98623.252          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          2048       65536  thrpt            9759.202          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          4096           1  thrpt         2712564.416          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          4096          16  thrpt         2590370.935          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          4096          64  thrpt         2496452.741          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          4096         128  thrpt         2405086.171          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          4096         256  thrpt         2327219.969          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          4096         512  thrpt         2111961.644          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          4096        1024  thrpt         1797476.029          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          4096        4096  thrpt          432607.299          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          4096        8192  thrpt          100619.107          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          4096       65536  thrpt            9979.936          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          8192           1  thrpt         1369877.509          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          8192          16  thrpt         1368786.416          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          8192          64  thrpt         1310612.072          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          8192         128  thrpt         1253214.899          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          8192         256  thrpt         1226203.720          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          8192         512  thrpt         1169234.377          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          8192        1024  thrpt         1040620.839          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          8192        4096  thrpt          366187.593          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          8192        8192  thrpt          200672.983          ops/s
BufferedChecksumBenchmark.bufferedCRC32CSmallUpdates          8192       65536  thrpt            9790.567          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates            128           1  thrpt        49014861.605          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates            128          16  thrpt        40886584.801          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates            128          64  thrpt        32348655.675          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates            128         128  thrpt        22991835.106          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates            128         256  thrpt         2476455.602          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates            128         512  thrpt         1286161.891          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates            128        1024  thrpt          814984.372          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates            128        4096  thrpt          206051.975          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates            128        8192  thrpt          101085.583          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates            128       65536  thrpt            9562.885          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates            256           1  thrpt        36415590.408          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates            256          16  thrpt        32653482.667          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates            256          64  thrpt        25465845.814          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates            256         128  thrpt        19672484.239          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates            256         256  thrpt        15001528.739          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates            256         512  thrpt         1316811.965          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates            256        1024  thrpt          728282.257          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates            256        4096  thrpt          208363.198          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates            256        8192  thrpt          101371.985          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates            256       65536  thrpt            9896.651          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates            512           1  thrpt        19662331.047          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates            512          16  thrpt        19072070.067          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates            512          64  thrpt        17097683.449          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates            512         128  thrpt        15547422.402          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates            512         256  thrpt        11999671.537          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates            512         512  thrpt         7961672.119          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates            512        1024  thrpt          877379.698          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates            512        4096  thrpt          207506.262          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates            512        8192  thrpt          103633.335          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates            512       65536  thrpt            9978.276          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           1024           1  thrpt        10129067.662          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           1024          16  thrpt         9803773.442          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           1024          64  thrpt         8940209.571          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           1024         128  thrpt         8768483.498          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           1024         256  thrpt         7734068.136          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           1024         512  thrpt         5820337.342          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           1024        1024  thrpt         3645840.661          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           1024        4096  thrpt          203731.265          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           1024        8192  thrpt          100838.470          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           1024       65536  thrpt            9693.330          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           2048           1  thrpt         4930783.863          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           2048          16  thrpt         4937776.265          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           2048          64  thrpt         4513428.349          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           2048         128  thrpt         4277660.632          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           2048         256  thrpt         3766677.048          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           2048         512  thrpt         3332445.585          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           2048        1024  thrpt         2454495.546          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           2048        4096  thrpt          207827.890          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           2048        8192  thrpt           98221.423          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           2048       65536  thrpt            9766.734          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           4096           1  thrpt         2728559.664          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           4096          16  thrpt         2590940.573          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           4096          64  thrpt         2436745.218          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           4096         128  thrpt         2386354.837          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           4096         256  thrpt         2288047.778          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           4096         512  thrpt         2095669.360          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           4096        1024  thrpt         1776984.372          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           4096        4096  thrpt          404677.450          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           4096        8192  thrpt           97447.289          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           4096       65536  thrpt            9677.293          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           8192           1  thrpt         1368516.517          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           8192          16  thrpt         1373617.903          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           8192          64  thrpt         1288788.700          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           8192         128  thrpt         1247945.634          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           8192         256  thrpt         1195479.038          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           8192         512  thrpt         1145029.340          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           8192        1024  thrpt         1043548.588          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           8192        4096  thrpt          357000.359          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           8192        8192  thrpt          201843.277          ops/s
BufferedChecksumBenchmark.bufferedCRC32SmallUpdates           8192       65536  thrpt            9510.620          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate                128           1  thrpt        81058587.874          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate                128          16  thrpt       259291849.876          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate                128          64  thrpt       169090583.743          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate                128         128  thrpt       125739063.444          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate                128         256  thrpt       143250569.459          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate                128         512  thrpt        95582735.532          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate                128        1024  thrpt        61771492.063          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate                128        4096  thrpt        18336817.675          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate                128        8192  thrpt         9832054.773          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate                128       65536  thrpt         1085273.761          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate                256           1  thrpt        81790075.962          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate                256          16  thrpt       255459894.540          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate                256          64  thrpt       169787688.348          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate                256         128  thrpt       124490330.208          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate                256         256  thrpt       141842296.780          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate                256         512  thrpt       106901893.586          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate                256        1024  thrpt        62183369.744          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate                256        4096  thrpt        18577264.897          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate                256        8192  thrpt        10431652.761          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate                256       65536  thrpt         1074065.954          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate                512           1  thrpt        80821200.493          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate                512          16  thrpt       254780678.306          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate                512          64  thrpt       165590316.249          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate                512         128  thrpt       124094578.716          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate                512         256  thrpt       151800795.181          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate                512         512  thrpt        99525211.857          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate                512        1024  thrpt        70717947.486          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate                512        4096  thrpt        19460502.295          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate                512        8192  thrpt        10627380.578          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate                512       65536  thrpt         1132289.131          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate               1024           1  thrpt        86896764.242          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate               1024          16  thrpt       267370859.825          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate               1024          64  thrpt       193388450.311          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate               1024         128  thrpt       130432889.453          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate               1024         256  thrpt       149015291.077          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate               1024         512  thrpt       111272015.042          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate               1024        1024  thrpt        65980647.208          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate               1024        4096  thrpt        20153950.448          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate               1024        8192  thrpt        10329267.789          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate               1024       65536  thrpt         1183590.562          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate               2048           1  thrpt        86006773.157          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate               2048          16  thrpt       262297963.624          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate               2048          64  thrpt       171799014.297          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate               2048         128  thrpt       125002172.653          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate               2048         256  thrpt       146502484.164          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate               2048         512  thrpt       104548892.335          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate               2048        1024  thrpt        66294901.876          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate               2048        4096  thrpt        19657019.800          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate               2048        8192  thrpt        10914487.945          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate               2048       65536  thrpt         1239680.867          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate               4096           1  thrpt        87528148.723          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate               4096          16  thrpt       269196061.931          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate               4096          64  thrpt       176460311.289          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate               4096         128  thrpt       129578887.676          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate               4096         256  thrpt       158685683.599          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate               4096         512  thrpt       112903431.090          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate               4096        1024  thrpt        71231800.122          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate               4096        4096  thrpt        18607632.318          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate               4096        8192  thrpt        10161969.711          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate               4096       65536  thrpt         1124449.344          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate               8192           1  thrpt        84386070.247          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate               8192          16  thrpt       272085097.500          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate               8192          64  thrpt       177625846.484          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate               8192         128  thrpt       122493447.162          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate               8192         256  thrpt       142844854.981          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate               8192         512  thrpt       110273588.804          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate               8192        1024  thrpt        65063860.374          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate               8192        4096  thrpt        20651334.775          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate               8192        8192  thrpt        11051145.031          ops/s
BufferedChecksumBenchmark.directCRC32BulkUpdate               8192       65536  thrpt         1173393.507          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate               128           1  thrpt       309316765.835          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate               128          16  thrpt       275213224.138          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate               128          64  thrpt       153135289.927          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate               128         128  thrpt       121584012.838          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate               128         256  thrpt        80251659.767          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate               128         512  thrpt       102728171.991          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate               128        1024  thrpt        67325400.917          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate               128        4096  thrpt        21603032.401          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate               128        8192  thrpt        11195223.254          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate               128       65536  thrpt         1230252.405          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate               256           1  thrpt       304915313.524          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate               256          16  thrpt       271554593.749          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate               256          64  thrpt       159285751.941          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate               256         128  thrpt       120989774.570          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate               256         256  thrpt        82146394.326          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate               256         512  thrpt       110111127.108          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate               256        1024  thrpt        65591537.927          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate               256        4096  thrpt        21116751.159          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate               256        8192  thrpt        10988877.816          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate               256       65536  thrpt         1055626.023          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate               512           1  thrpt       287841285.075          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate               512          16  thrpt       269251693.780          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate               512          64  thrpt       159157564.847          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate               512         128  thrpt       118220000.427          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate               512         256  thrpt        82761543.148          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate               512         512  thrpt       104492472.302          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate               512        1024  thrpt        61763526.272          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate               512        4096  thrpt        18890107.356          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate               512        8192  thrpt        10794568.478          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate               512       65536  thrpt         1128375.659          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate              1024           1  thrpt       306414073.877          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate              1024          16  thrpt       268548457.904          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate              1024          64  thrpt       150921160.146          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate              1024         128  thrpt       118059621.407          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate              1024         256  thrpt        78551945.556          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate              1024         512  thrpt       103999527.544          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate              1024        1024  thrpt        61861324.417          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate              1024        4096  thrpt        19365745.949          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate              1024        8192  thrpt        10735764.915          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate              1024       65536  thrpt         1123289.682          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate              2048           1  thrpt       307687851.446          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate              2048          16  thrpt       260494060.820          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate              2048          64  thrpt       151748639.555          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate              2048         128  thrpt       117479053.929          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate              2048         256  thrpt        80917674.923          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate              2048         512  thrpt        96772360.630          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate              2048        1024  thrpt        60926422.556          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate              2048        4096  thrpt        18330983.394          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate              2048        8192  thrpt         9669058.732          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate              2048       65536  thrpt          994834.241          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate              4096           1  thrpt       287345584.597          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate              4096          16  thrpt       258286642.925          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate              4096          64  thrpt       149494576.073          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate              4096         128  thrpt       117121146.642          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate              4096         256  thrpt        80331354.273          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate              4096         512  thrpt       104786397.427          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate              4096        1024  thrpt        61136880.904          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate              4096        4096  thrpt        18754407.969          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate              4096        8192  thrpt         9924776.911          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate              4096       65536  thrpt         1048659.207          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate              8192           1  thrpt       298499476.243          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate              8192          16  thrpt       276533879.323          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate              8192          64  thrpt       175962546.395          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate              8192         128  thrpt       124162670.057          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate              8192         256  thrpt        82261810.195          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate              8192         512  thrpt       113566488.356          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate              8192        1024  thrpt        69557861.571          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate              8192        4096  thrpt        19031429.743          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate              8192        8192  thrpt        11226616.028          ops/s
BufferedChecksumBenchmark.directCRC32CBulkUpdate              8192       65536  thrpt         1106412.485          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates             128           1  thrpt       510229680.674          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates             128          16  thrpt        66404075.473          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates             128          64  thrpt        10876177.623          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates             128         128  thrpt         4535172.530          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates             128         256  thrpt         1992330.698          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates             128         512  thrpt          911528.390          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates             128        1024  thrpt          467447.178          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates             128        4096  thrpt          114755.544          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates             128        8192  thrpt           59016.172          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates             128       65536  thrpt            7102.618          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates             256           1  thrpt       512592399.565          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates             256          16  thrpt        64968667.940          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates             256          64  thrpt        10677812.228          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates             256         128  thrpt         4489296.587          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates             256         256  thrpt         2009601.568          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates             256         512  thrpt          944959.770          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates             256        1024  thrpt          459927.270          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates             256        4096  thrpt          115861.384          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates             256        8192  thrpt           57989.040          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates             256       65536  thrpt            7040.854          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates             512           1  thrpt       502795034.238          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates             512          16  thrpt        65186285.748          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates             512          64  thrpt        10714939.261          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates             512         128  thrpt         4525663.922          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates             512         256  thrpt         2018037.927          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates             512         512  thrpt          947185.666          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates             512        1024  thrpt          463909.215          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates             512        4096  thrpt          114626.509          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates             512        8192  thrpt           57962.562          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates             512       65536  thrpt            7117.059          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates            1024           1  thrpt       509312810.325          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates            1024          16  thrpt        65324991.438          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates            1024          64  thrpt        10974040.178          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates            1024         128  thrpt         4529184.993          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates            1024         256  thrpt         2002544.458          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates            1024         512  thrpt          972883.211          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates            1024        1024  thrpt          460436.421          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates            1024        4096  thrpt          114501.277          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates            1024        8192  thrpt           56808.679          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates            1024       65536  thrpt            7191.420          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates            2048           1  thrpt       522411856.249          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates            2048          16  thrpt        65962985.609          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates            2048          64  thrpt        11105934.459          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates            2048         128  thrpt         4577539.827          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates            2048         256  thrpt         2026900.816          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates            2048         512  thrpt          953584.203          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates            2048        1024  thrpt          466955.476          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates            2048        4096  thrpt          114850.598          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates            2048        8192  thrpt           58449.495          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates            2048       65536  thrpt            7339.663          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates            4096           1  thrpt       520430600.290          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates            4096          16  thrpt        64876441.112          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates            4096          64  thrpt        10222926.887          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates            4096         128  thrpt         4628732.988          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates            4096         256  thrpt         2038125.146          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates            4096         512  thrpt          960938.223          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates            4096        1024  thrpt          476205.220          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates            4096        4096  thrpt          116469.929          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates            4096        8192  thrpt           58860.631          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates            4096       65536  thrpt            7305.887          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates            8192           1  thrpt       521586343.677          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates            8192          16  thrpt        65748504.620          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates            8192          64  thrpt        10894216.626          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates            8192         128  thrpt         4541490.385          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates            8192         256  thrpt         1960537.549          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates            8192         512  thrpt          957949.802          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates            8192        1024  thrpt          466300.996          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates            8192        4096  thrpt          113966.232          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates            8192        8192  thrpt           57718.765          ops/s
BufferedChecksumBenchmark.directCRC32CSmallUpdates            8192       65536  thrpt            7100.792          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates              128           1  thrpt       481402835.960          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates              128          16  thrpt        43715543.247          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates              128          64  thrpt         6533099.149          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates              128         128  thrpt         3197091.151          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates              128         256  thrpt         1515682.741          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates              128         512  thrpt          723852.026          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates              128        1024  thrpt          366898.330          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates              128        4096  thrpt           88730.526          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates              128        8192  thrpt           45377.463          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates              128       65536  thrpt            5845.889          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates              256           1  thrpt       470081985.669          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates              256          16  thrpt        42805989.369          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates              256          64  thrpt         6725613.277          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates              256         128  thrpt         3087289.040          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates              256         256  thrpt         1501984.735          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates              256         512  thrpt          722053.421          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates              256        1024  thrpt          362562.980          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates              256        4096  thrpt           89319.056          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates              256        8192  thrpt           45589.902          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates              256       65536  thrpt            5711.399          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates              512           1  thrpt       486520839.751          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates              512          16  thrpt        44881156.922          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates              512          64  thrpt         6786458.877          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates              512         128  thrpt         3126289.603          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates              512         256  thrpt         1455172.814          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates              512         512  thrpt          727333.564          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates              512        1024  thrpt          345833.228          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates              512        4096  thrpt           89023.388          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates              512        8192  thrpt           44934.269          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates              512       65536  thrpt            5562.607          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates             1024           1  thrpt       467483982.516          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates             1024          16  thrpt        41882159.524          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates             1024          64  thrpt         6472199.862          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates             1024         128  thrpt         3098421.319          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates             1024         256  thrpt         1454451.718          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates             1024         512  thrpt          710112.683          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates             1024        1024  thrpt          353885.118          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates             1024        4096  thrpt           87402.330          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates             1024        8192  thrpt           45321.031          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates             1024       65536  thrpt            5428.644          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates             2048           1  thrpt       468745658.473          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates             2048          16  thrpt        44034281.273          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates             2048          64  thrpt         6556756.874          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates             2048         128  thrpt         3000590.010          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates             2048         256  thrpt         1400658.156          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates             2048         512  thrpt          706625.309          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates             2048        1024  thrpt          350400.052          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates             2048        4096  thrpt           86938.706          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates             2048        8192  thrpt           44360.643          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates             2048       65536  thrpt            5368.250          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates             4096           1  thrpt       456881772.006          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates             4096          16  thrpt        42548625.693          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates             4096          64  thrpt         6500819.738          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates             4096         128  thrpt         3080654.486          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates             4096         256  thrpt         1387978.243          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates             4096         512  thrpt          685504.305          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates             4096        1024  thrpt          333618.965          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates             4096        4096  thrpt           83784.584          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates             4096        8192  thrpt           42489.478          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates             4096       65536  thrpt            5323.315          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates             8192           1  thrpt       449559396.060          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates             8192          16  thrpt        42121543.810          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates             8192          64  thrpt         6279687.481          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates             8192         128  thrpt         2928193.216          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates             8192         256  thrpt         1383002.270          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates             8192         512  thrpt          681129.779          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates             8192        1024  thrpt          340537.102          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates             8192        4096  thrpt           84416.167          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates             8192        8192  thrpt           41931.825          ops/s
BufferedChecksumBenchmark.directCRC32SmallUpdates             8192       65536  thrpt            5319.848          ops/s

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant