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