Hi
I recent published
https://github.com/benalexau/hash-bench, which uses a JMH harness and adapter pattern to quantify the latencies of 114 hash, CRC and checksum implementations on the JVM. It benchmarks a variety of byte sizes (from 32 to 32,768 bytes), and a variety of input buffer types (byte[], array-backed ByteBuffer, direct ByteBuffer).
I thought the results might be of interest to this group. There are more than 600 plots in the latest report, showing the lowest latency implementations by buffer size, the lowest latency implementations by hash specification, and the latency of each implementation across the various byte sizes and buffer types.
If anyone has any suggestions on how to improve the benchmark and/or additional libraries they'd like included in the benchmark, please feel free to log a GitHub issue or send a PR. I hope the data is of use.
Cheers
Ben