zig/lib/std/hash
Dominic 559150e844
Xxhash perf (#15947)
Improvements for xxHash performance, both on small keys as well as large slices.

* std.hash: make benchmarks consistent for xxhash

There is some odd behaviour in the timings for the XXHash benchmarks
introduced in 879f0b9, specifically the changes to the allocation in
benchmarkHash. The problem is somewhere in the difference between
9628243 and 9362d61 (these are commit that were force-pushed over but
        can be found in PR #15917).

* std.hash: correctly calculate throughput in benchmark
* std.hash: add hashes per sec to small key output
* std.hash: add exact and small xxhash routines
* std.hash: add --small-only flag to benchmark
* std.hash.xxhash: extract stateless Accumulator type
* std.hash.xxhash: cleanup hash() and improve small key perf
* std.hash.xxhash: port xxhash64 changes to xxhash32
* std.hash: change benchmark --small-only flag to --include-array
2023-07-24 13:47:45 -04:00
..
crc Rewrite update_crc_catalog in zig and move tests to separate file 2023-01-22 07:16:49 -08:00
adler.zig all: migrate code to new cast builtin syntax 2023-06-24 16:56:39 -07:00
auto_hash.zig all: migrate code to new cast builtin syntax 2023-06-24 16:56:39 -07:00
benchmark.zig Xxhash perf (#15947) 2023-07-24 13:47:45 -04:00
cityhash.zig all: migrate code to new cast builtin syntax 2023-06-24 16:56:39 -07:00
crc.zig Use builtin inference over @as where possible 2023-07-24 10:23:51 -07:00
fnv.zig remove redundant license headers from zig standard library 2021-08-24 12:25:09 -07:00
murmur.zig Use builtin inference over @as where possible 2023-07-24 10:23:51 -07:00
wyhash.zig all: migrate code to new cast builtin syntax 2023-06-24 16:56:39 -07:00
xxhash.zig Xxhash perf (#15947) 2023-07-24 13:47:45 -04:00