# Inline full slice hashing · gitcafe/zig

[View on GitCafe](https://git.cafe/gitcafe/zig/commit/16fa255f48ae2d290bc26ceb41489f2c3e21b96d)

Repository: [gitcafe/zig](https://git.cafe/gitcafe/zig)

Visibility: public

Requested revision: 16fa255f48ae2d290bc26ceb41489f2c3e21b96d

Requested commit: 16fa255f48ae2d290bc26ceb41489f2c3e21b96d

Commit: 16fa255f48ae2d290bc26ceb41489f2c3e21b96d

Tree: 5dfc6107bf79fb8e79ab3e58143de3a2ad74add8

Author: Marc Tiehuis

Committer: Marc Tiehuis

## Message

```
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]

```

## Parents

- [7854a52a6b8ba541e302c5466f61e0970e5d6062](https://git.cafe/gitcafe/zig/commit/7854a52a6b8ba541e302c5466f61e0970e5d6062?format=markdown)

[Source at this commit](https://git.cafe/gitcafe/zig/tree/16fa255f48ae2d290bc26ceb41489f2c3e21b96d?format=markdown)
