| Crc32cHashFunction.Crc32cHasher |  | 0% |  | 0% | 13 | 13 | 40 | 40 | 7 | 7 | 1 | 1 |
| HashingTest |  | 0% |  | 0% | 86 | 86 | 392 | 392 | 53 | 53 | 1 | 1 |
| BloomFilterTest |  | 0% |  | 0% | 88 | 88 | 298 | 298 | 44 | 44 | 1 | 1 |
| HashTestUtils |  | 0% |  | 0% | 57 | 57 | 268 | 268 | 25 | 25 | 1 | 1 |
| HashCodeTest |  | 0% |  | 0% | 53 | 53 | 181 | 181 | 45 | 45 | 1 | 1 |
| MacHashFunctionTest |  | 0% |  | 0% | 41 | 41 | 211 | 211 | 39 | 39 | 1 | 1 |
| Fingerprint2011Test |  | 0% |  | 0% | 17 | 17 | 148 | 148 | 13 | 13 | 1 | 1 |
| BloomFilter |  | 0% |  | 0% | 55 | 55 | 107 | 107 | 29 | 29 | 1 | 1 |
| Fingerprint2011 |  | 0% |  | 0% | 21 | 21 | 97 | 97 | 12 | 12 | 1 | 1 |
| Crc32cHashFunctionTest |  | 0% |  | 0% | 32 | 32 | 92 | 92 | 18 | 18 | 1 | 1 |
| SipHashFunctionTest |  | 0% |  | 0% | 11 | 11 | 46 | 46 | 9 | 9 | 1 | 1 |
| AbstractStreamingHasherTest |  | 0% |  | 0% | 22 | 22 | 89 | 89 | 14 | 14 | 1 | 1 |
| FarmHashFingerprint64Test |  | 0% |  | 0% | 16 | 16 | 109 | 109 | 12 | 12 | 1 | 1 |
| Murmur3Hash32Test |  | 0% |  | 0% | 24 | 24 | 100 | 100 | 15 | 15 | 1 | 1 |
| Murmur3_32HashFunction |   | 20% |  | 0% | 33 | 40 | 84 | 114 | 12 | 19 | 0 | 1 |
| HashingInputStreamTest |  | 0% |  | 0% | 14 | 14 | 76 | 76 | 11 | 11 | 1 | 1 |
| AbstractByteHasherTest |  | 0% |  | 0% | 14 | 14 | 51 | 51 | 13 | 13 | 1 | 1 |
| FunnelsTest |  | 0% |  | 0% | 18 | 18 | 90 | 90 | 16 | 16 | 1 | 1 |
| Hashing |   | 25% |   | 23% | 29 | 51 | 54 | 86 | 17 | 36 | 0 | 1 |
| BloomFilterStrategies.LockFreeBitArray |  | 0% |  | 0% | 27 | 27 | 58 | 58 | 13 | 13 | 1 | 1 |
| HashingOutputStreamTest |  | 0% | | n/a | 7 | 7 | 40 | 40 | 7 | 7 | 1 | 1 |
| AbstractStreamingHasherTest.Sink |  | 0% |  | 0% | 12 | 12 | 39 | 39 | 8 | 8 | 1 | 1 |
| MessageDigestHashFunctionTest |  | 0% |  | 0% | 12 | 12 | 49 | 49 | 9 | 9 | 1 | 1 |
| AbstractNonStreamingHashFunctionTest |  | 0% |  | 0% | 11 | 11 | 36 | 36 | 7 | 7 | 1 | 1 |
| Murmur3_32HashFunction.Murmur3_32Hasher |   | 45% |   | 16% | 18 | 28 | 37 | 68 | 2 | 10 | 0 | 1 |
| HashStringBenchmark |  | 0% |  | 0% | 13 | 13 | 43 | 43 | 6 | 6 | 1 | 1 |
| ChecksumHashFunctionTest |  | 0% | | n/a | 7 | 7 | 42 | 42 | 7 | 7 | 1 | 1 |
| FarmHashFingerprint64 |   | 81% |   | 50% | 7 | 20 | 22 | 108 | 3 | 13 | 0 | 1 |
| BloomFilterStrategies.new BloomFilterStrategies() {...} |  | 0% |  | 0% | 8 | 8 | 23 | 23 | 5 | 5 | 1 | 1 |
| Murmur3Hash128Test |  | 0% |  | 0% | 7 | 7 | 27 | 27 | 6 | 6 | 1 | 1 |
| HashFunctionEnum |  | 0% | | n/a | 3 | 3 | 21 | 21 | 3 | 3 | 1 | 1 |
| LittleEndianByteArray |  | 19% |   | 18% | 15 | 18 | 18 | 26 | 4 | 7 | 0 | 1 |
| HashTestUtils.RandomHasherAction |  | 0% | | n/a | 2 | 2 | 19 | 19 | 2 | 2 | 1 | 1 |
| AbstractCompositeHashFunction.new Hasher() {...} |   | 70% |   | 71% | 8 | 30 | 14 | 46 | 4 | 16 | 0 | 1 |
| BloomFilterStrategies.new BloomFilterStrategies() {...} |  | 0% |  | 0% | 8 | 8 | 23 | 23 | 3 | 3 | 1 | 1 |
| HashFunctionBenchmark |  | 0% |  | 0% | 9 | 9 | 20 | 20 | 6 | 6 | 1 | 1 |
| MacHashFunction |  | 0% |  | 0% | 7 | 7 | 24 | 24 | 6 | 6 | 1 | 1 |
| LittleEndianByteArray.UnsafeByteArray |  | 0% |  | 0% | 7 | 7 | 21 | 21 | 4 | 4 | 1 | 1 |
| AbstractStreamingHasher |   | 63% |   | 50% | 7 | 22 | 20 | 62 | 2 | 14 | 0 | 1 |
| SipHashFunction |   | 37% |   | 14% | 11 | 14 | 7 | 17 | 4 | 7 | 0 | 1 |
| MessageDigestHashFunction |  | 34% |   | 16% | 8 | 12 | 18 | 29 | 5 | 9 | 0 | 1 |
| AbstractHashFunction |  | 3% |  | 0% | 10 | 11 | 12 | 13 | 9 | 10 | 0 | 1 |
| HashCodeBenchmark |  | 0% |  | 0% | 8 | 8 | 18 | 18 | 4 | 4 | 1 | 1 |
| LittleEndianByteArray.JavaLittleEndianBytes.new LittleEndianByteArray.JavaLittleEndianBytes() {...} |  | 0% |  | 0% | 5 | 5 | 7 | 7 | 4 | 4 | 1 | 1 |
| AbstractHasher |   | 62% |   | 50% | 7 | 20 | 13 | 35 | 4 | 14 | 0 | 1 |
| HashTestUtils.RandomHasherAction.new HashTestUtils.RandomHasherAction() {...} |  | 0% |  | 0% | 3 | 3 | 14 | 14 | 2 | 2 | 1 | 1 |
| MessageDigestAlgorithmBenchmark.Algorithm |  | 0% | | n/a | 4 | 4 | 14 | 14 | 4 | 4 | 1 | 1 |
| AbstractByteHasher |   | 58% |   | 25% | 7 | 18 | 14 | 40 | 4 | 14 | 0 | 1 |
| HashStringBenchmark.MaxCodePoint |  | 0% |  | 0% | 9 | 9 | 19 | 19 | 3 | 3 | 1 | 1 |
| AbstractNonStreamingHashFunction |  | 21% |   | 25% | 7 | 10 | 9 | 13 | 5 | 8 | 0 | 1 |
| Funnels.StringCharsetFunnel |  | 0% |  | 0% | 8 | 8 | 13 | 13 | 7 | 7 | 1 | 1 |
| MacHashFunction.MacHasher |  | 0% |  | 0% | 8 | 8 | 21 | 21 | 7 | 7 | 1 | 1 |
| HashingInputStream |  | 0% |  | 0% | 9 | 9 | 15 | 15 | 7 | 7 | 1 | 1 |
| Funnels.SequentialFunnel |  | 0% |  | 0% | 7 | 7 | 13 | 13 | 5 | 5 | 1 | 1 |
| BloomFilterTest.new Runnable() {...} |  | 0% |  | 0% | 3 | 3 | 8 | 8 | 2 | 2 | 1 | 1 |
| HashCode |   | 79% |   | 64% | 7 | 27 | 9 | 43 | 1 | 13 | 0 | 1 |
| MessageDigestAlgorithmBenchmark |  | 0% |  | 0% | 5 | 5 | 11 | 11 | 4 | 4 | 1 | 1 |
| ChecksumHashFunction.ChecksumMethodHandles |  | 0% |  | 0% | 5 | 5 | 18 | 18 | 4 | 4 | 1 | 1 |
| HashTestUtils.RandomHasherAction.new HashTestUtils.RandomHasherAction() {...} |  | 0% |  | 0% | 3 | 3 | 9 | 9 | 2 | 2 | 1 | 1 |
| MessageDigestCreationBenchmark |  | 0% |  | 0% | 6 | 6 | 11 | 11 | 4 | 4 | 1 | 1 |
| HashTestUtils.RandomHasherAction.new HashTestUtils.RandomHasherAction() {...} |  | 0% |  | 0% | 4 | 4 | 9 | 9 | 2 | 2 | 1 | 1 |
| HashingOutputStream |  | 0% | | n/a | 5 | 5 | 12 | 12 | 5 | 5 | 1 | 1 |
| Funnels.SinkAsStream | | 0% | | n/a | 5 | 5 | 10 | 10 | 5 | 5 | 1 | 1 |
| HashCodeBenchmark.EqualsImplementation.new HashCodeBenchmark.EqualsImplementation() {...} | | 0% |  | 0% | 5 | 5 | 7 | 7 | 2 | 2 | 1 | 1 |
| HashCode.BytesHashCode |  | 76% |   | 33% | 6 | 15 | 6 | 22 | 1 | 9 | 0 | 1 |
| HashCodeBenchmark.EqualsImplementation.new HashCodeBenchmark.EqualsImplementation() {...} | | 0% |  | 0% | 5 | 5 | 7 | 7 | 2 | 2 | 1 | 1 |
| HashCodeBenchmark.EqualsImplementation.new HashCodeBenchmark.EqualsImplementation() {...} | | 0% |  | 0% | 5 | 5 | 7 | 7 | 2 | 2 | 1 | 1 |
| HashTestUtils.RandomHasherAction.new HashTestUtils.RandomHasherAction() {...} | | 0% |  | 0% | 3 | 3 | 6 | 6 | 2 | 2 | 1 | 1 |
| HashTestUtils.RandomHasherAction.new HashTestUtils.RandomHasherAction() {...} | | 0% |  | 0% | 3 | 3 | 6 | 6 | 2 | 2 | 1 | 1 |
| AbstractNonStreamingHashFunctionTest.StreamingVersion.new AbstractStreamingHasher() {...} | | 0% |  | 0% | 6 | 6 | 9 | 9 | 4 | 4 | 1 | 1 |
| BloomFilter.SerialForm | | 0% | | n/a | 2 | 2 | 7 | 7 | 2 | 2 | 1 | 1 |
| Murmur3_128HashFunction | | 40% |  | 0% | 5 | 9 | 6 | 13 | 3 | 7 | 0 | 1 |
| AbstractByteHasherTest.TestHasher | | 0% | | n/a | 6 | 6 | 10 | 10 | 6 | 6 | 1 | 1 |
| AbstractNonStreamingHashFunction.ExposedByteArrayOutputStream | | 22% |  | 0% | 2 | 5 | 6 | 10 | 1 | 4 | 0 | 1 |
| HashTestUtils.RandomHasherAction.new HashTestUtils.RandomHasherAction() {...} | | 0% |  | 0% | 3 | 3 | 6 | 6 | 2 | 2 | 1 | 1 |
| HashTestUtils.RandomHasherAction.new HashTestUtils.RandomHasherAction() {...} | | 0% |  | 0% | 3 | 3 | 6 | 6 | 2 | 2 | 1 | 1 |
| HashCodeBenchmark.EqualsImplementation | | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 1 | 1 | 1 |
| AbstractCompositeHashFunction |  | 63% |   | 50% | 3 | 8 | 5 | 15 | 1 | 4 | 0 | 1 |
| LittleEndianByteArray.UnsafeByteArray.new LittleEndianByteArray.UnsafeByteArray() {...} | | 0% | | n/a | 3 | 3 | 6 | 6 | 3 | 3 | 1 | 1 |
| HashTestUtils.RandomHasherAction.new HashTestUtils.RandomHasherAction() {...} | | 0% |  | 0% | 3 | 3 | 7 | 7 | 2 | 2 | 1 | 1 |
| HashTestUtils.RandomHasherAction.new HashTestUtils.RandomHasherAction() {...} | | 0% |  | 0% | 3 | 3 | 6 | 6 | 2 | 2 | 1 | 1 |
| HashTestUtils.RandomHasherAction.new HashTestUtils.RandomHasherAction() {...} | | 0% |  | 0% | 3 | 3 | 6 | 6 | 2 | 2 | 1 | 1 |
| HashTestUtils.RandomHasherAction.new HashTestUtils.RandomHasherAction() {...} | | 0% |  | 0% | 3 | 3 | 6 | 6 | 2 | 2 | 1 | 1 |
| HashTestUtils.RandomHasherAction.new HashTestUtils.RandomHasherAction() {...} | | 0% |  | 0% | 3 | 3 | 6 | 6 | 2 | 2 | 1 | 1 |
| HashTestUtils.RandomHasherAction.new HashTestUtils.RandomHasherAction() {...} | | 0% |  | 0% | 3 | 3 | 6 | 6 | 2 | 2 | 1 | 1 |
| HashTestUtils.RandomHasherAction.new HashTestUtils.RandomHasherAction() {...} | | 0% |  | 0% | 3 | 3 | 6 | 6 | 2 | 2 | 1 | 1 |
| HashTestUtils.RandomHasherAction.new HashTestUtils.RandomHasherAction() {...} | | 0% |  | 0% | 3 | 3 | 6 | 6 | 2 | 2 | 1 | 1 |
| HashTestUtils.RandomHasherAction.new HashTestUtils.RandomHasherAction() {...} | | 0% |  | 0% | 3 | 3 | 6 | 6 | 2 | 2 | 1 | 1 |
| LittleEndianByteArray.UnsafeByteArray.new LittleEndianByteArray.UnsafeByteArray() {...} | | 0% | | n/a | 3 | 3 | 4 | 4 | 3 | 3 | 1 | 1 |
| Hashing.LinearCongruentialGenerator | | 0% | | n/a | 2 | 2 | 5 | 5 | 2 | 2 | 1 | 1 |
| PackageSanityTests | | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 1 | 1 | 1 |
| Funnels | | 0% | | n/a | 7 | 7 | 7 | 7 | 7 | 7 | 1 | 1 |
| MessageDigestHashFunction.SerializedForm | | 0% | | n/a | 2 | 2 | 6 | 6 | 2 | 2 | 1 | 1 |
| HashCodeBenchmark.WhereToDiffer | | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 | 1 | 1 |
| MessageDigestAlgorithmBenchmark.HashMethod | | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 | 1 | 1 |
| Hashing.ConcatenatedHashFunction |  | 83% |   | 70% | 4 | 10 | 5 | 21 | 2 | 5 | 0 | 1 |
| Murmur3Hash32Test.new HashTestUtils.HashFn() {...} | | 0% | | n/a | 2 | 2 | 4 | 4 | 2 | 2 | 1 | 1 |
| Murmur3Hash128Test.new HashTestUtils.HashFn() {...} | | 0% | | n/a | 2 | 2 | 4 | 4 | 2 | 2 | 1 | 1 |
| FunnelsTest.new AbstractStreamingHasher() {...} | | 0% |  | 0% | 4 | 4 | 5 | 5 | 3 | 3 | 1 | 1 |
| Funnels.LongFunnel | | 0% | | n/a | 3 | 3 | 5 | 5 | 3 | 3 | 1 | 1 |
| Funnels.IntegerFunnel | | 0% | | n/a | 3 | 3 | 5 | 5 | 3 | 3 | 1 | 1 |
| Funnels.UnencodedCharsFunnel | | 0% | | n/a | 3 | 3 | 5 | 5 | 3 | 3 | 1 | 1 |
| Funnels.ByteArrayFunnel | | 0% | | n/a | 3 | 3 | 5 | 5 | 3 | 3 | 1 | 1 |
| Crc32cHashFunction | | 0% | | n/a | 5 | 5 | 5 | 5 | 5 | 5 | 1 | 1 |
| Murmur3_128HashFunction.Murmur3_128Hasher |  | 96% |   | 50% | 8 | 23 | 2 | 72 | 0 | 8 | 0 | 1 |
| MessageDigestHashFunction.MessageDigestHasher |  | 76% |   | 50% | 3 | 8 | 4 | 20 | 1 | 6 | 0 | 1 |
| HashCodeTest.ExpectedHashCode | | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 1 | 1 | 1 |
| BloomFilterStrategies | | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 | 1 | 1 |
| MessageDigestAlgorithmBenchmark.HashMethod.new MessageDigestAlgorithmBenchmark.HashMethod() {...} | | 0% | | n/a | 2 | 2 | 4 | 4 | 2 | 2 | 1 | 1 |
| MessageDigestAlgorithmBenchmark.HashMethod.new MessageDigestAlgorithmBenchmark.HashMethod() {...} | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| AbstractNonStreamingHashFunctionTest.NonStreamingVersion | | 0% | | n/a | 3 | 3 | 3 | 3 | 3 | 3 | 1 | 1 |
| MacHashFunctionTest.new SecretKey() {...} | | 0% | | n/a | 4 | 4 | 4 | 4 | 4 | 4 | 1 | 1 |
| ChecksumHashFunction.ChecksumHasher | | 75% |   | 25% | 3 | 7 | 4 | 14 | 1 | 5 | 0 | 1 |
| AbstractNonStreamingHashFunctionTest.StreamingVersion | | 0% | | n/a | 3 | 3 | 3 | 3 | 3 | 3 | 1 | 1 |
| Funnels.StringCharsetFunnel.SerializedForm | | 0% | | n/a | 2 | 2 | 4 | 4 | 2 | 2 | 1 | 1 |
| BloomFilterTest.new Thread.UncaughtExceptionHandler() {...} | | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| Murmur3Hash32Test.new HashTestUtils.HashFn() {...} | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| MacHashFunctionTest.new SecretKey() {...} | | 0% | | n/a | 4 | 4 | 4 | 4 | 4 | 4 | 1 | 1 |
| MessageDigestAlgorithmBenchmark.HashMethod.new MessageDigestAlgorithmBenchmark.HashMethod() {...} | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| AbstractStreamingHasherTest.Control | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| BloomFilterTest.CustomFunnel | | 0% | | n/a | 3 | 3 | 4 | 4 | 3 | 3 | 1 | 1 |
| HashCode.LongHashCode |  | 91% |   | 50% | 2 | 10 | 1 | 12 | 1 | 8 | 0 | 1 |
| ChecksumHashFunction | | 77% |   | 25% | 4 | 6 | 2 | 9 | 2 | 4 | 0 | 1 |
| HashCodeBenchmark.EqualsImplementation.new HashCodeBenchmark.EqualsImplementation() {...} | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| HashCodeBenchmark.EqualsImplementation.new HashCodeBenchmark.EqualsImplementation() {...} | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| HashCode.IntHashCode |  | 89% |   | 50% | 2 | 10 | 1 | 12 | 1 | 8 | 0 | 1 |
| HashTestUtils.new Funnel() {...} | | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| LittleEndianByteArray.JavaLittleEndianBytes | | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 | 1 | 1 |
| SneakyThrows | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| Hashing.Crc32CSupplier | | 82% |   | 50% | 1 | 3 | 3 | 12 | 0 | 2 | 0 | 1 |
| BloomFilterTest.new ThreadLocal() {...} | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| AbstractNonStreamingHashFunction.BufferingHasher | | 86% | | n/a | 1 | 5 | 2 | 10 | 1 | 5 | 0 | 1 |
| LittleEndianByteArray.VarHandleLittleEndianBytes.new LittleEndianByteArray.VarHandleLittleEndianBytes() {...} | | 64% | | n/a | 1 | 3 | 2 | 4 | 1 | 3 | 0 | 1 |
| Java8Compatibility | | 72% | | n/a | 1 | 4 | 2 | 8 | 1 | 4 | 0 | 1 |
| LittleEndianByteArray.VarHandleLittleEndianBytesMaker.new LittleEndianByteArray.VarHandleLittleEndianBytesMaker() {...} | | 80% | | n/a | 0 | 2 | 2 | 6 | 0 | 2 | 0 | 1 |
| LittleEndianByteArray.VarHandleLittleEndianBytes | | 86% | | n/a | 1 | 2 | 1 | 4 | 1 | 2 | 0 | 1 |
| LittleEndianByteArray.VarHandleLittleEndianBytesMaker | | 81% | | n/a | 1 | 2 | 1 | 3 | 1 | 2 | 0 | 1 |
| Hashing.Crc32CSupplier.new Hashing.Crc32CSupplier() {...} | | 75% | | n/a | 1 | 2 | 1 | 2 | 1 | 2 | 0 | 1 |
| SipHashFunction.SipHasher |  | 100% |  | 100% | 0 | 8 | 0 | 46 | 0 | 6 | 0 | 1 |
| Hashing.ChecksumType | | 100% | | n/a | 0 | 2 | 0 | 7 | 0 | 2 | 0 | 1 |
| Hashing.ChecksumType.new Hashing.ChecksumType() {...} | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| Hashing.ChecksumType.new Hashing.ChecksumType() {...} | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| Hashing.ChecksumType.new Hashing.ChecksumType() {...} | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| Hashing.Crc32CSupplier.new Hashing.Crc32CSupplier() {...} | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| Hashing.Sha1Holder | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
| Hashing.Sha384Holder | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
| Hashing.Md5Holder | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
| Hashing.Sha256Holder | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
| Hashing.Sha512Holder | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |