zig/std/hash
Marc Tiehuis 16fa255f48 Inline full slice hashing
This gives moderate speed improvements when hashing small keys.
The crc/adler/fnv inlining did not provide enough speed up to warrant
the change.

OLD:

wyhash
  small keys: 2277 MiB/s [c14617a1e3800000]
siphash(1,3)
  small keys:  937 MiB/s [b2919222ed400000]
siphash(2,4)
  small keys:  722 MiB/s [3c3d974cc2800000]
fnv1a
  small keys: 1580 MiB/s [70155e1cb7000000]
adler32
  small keys: 1898 MiB/s [00013883ef800000]
crc32-slicing-by-8
  small keys: 2323 MiB/s [0035bf3dcac00000]
crc32-half-byte-lookup
  small keys:  218 MiB/s [0035bf3dcac00000]

NEW:

wyhash
  small keys: 2775 MiB/s [c14617a1e3800000]
siphash(1,3)
  small keys: 1086 MiB/s [b2919222ed400000]
siphash(2,4)
  small keys:  789 MiB/s [3c3d974cc2800000]
fnv1a
  small keys: 1604 MiB/s [70155e1cb7000000]
adler32
  small keys: 1856 MiB/s [00013883ef800000]
crc32-slicing-by-8
  small keys: 2336 MiB/s [0035bf3dcac00000]
crc32-half-byte-lookup
  small keys:  218 MiB/s [0035bf3dcac00000]
2019-08-21 21:38:02 +12:00
..
adler.zig
auto_hash.zig Merge remote-tracking branch 'origin/master' into rewrite-coroutines 2019-08-04 19:10:36 -04:00
benchmark.zig Add iterative-only filter to hash benchmark 2019-08-21 21:02:24 +12:00
cityhash.zig Intentional wraparound used + 2019-07-13 13:59:15 +02:00
crc.zig Add more hash functions to benchmark scripts 2019-08-21 20:46:15 +12:00
fnv.zig
murmur.zig Proper use of @truncate instead of @intCast 2019-07-13 13:59:15 +02:00
siphash.zig Inline full slice hashing 2019-08-21 21:38:02 +12:00
wyhash.zig Inline full slice hashing 2019-08-21 21:38:02 +12:00