aboutsummaryrefslogtreecommitdiff
path: root/lib/std/hash/xxhash.zig
AgeCommit message (Collapse)Author
2025-08-30std.hash.xxhash: disable xxhash3 test on all mips64 targetsAlex Rønne Petersen
See also dd1de18f9629904b5d97d5791a47244ac63385da. https://github.com/ziglang/zig/issues/23807
2025-06-01Legalize: implement scalarization of `@shuffle`Jacob Young
2025-05-08std: Disable `hash.xxhash.test.xxhash3` on MIPS N32.Alex Rønne Petersen
https://github.com/ziglang/zig/issues/23807
2024-12-15correct the hint in `XxHash3`David Rubin
2024-08-27compiler,lib,test,langref: migrate `@setCold` to `@branchHint`mlugg
2024-08-21std: update eval branch quotas after bdbc485mlugg
Also, update `std.math.Log2Int[Ceil]` to more efficient implementations that don't use up so much damn quota!
2023-11-22std: remove meta.traitAndrew Kelley
In general, I don't like the idea of std.meta.trait, and so I am providing some guidance by deleting the entire namespace from the standard library and compiler codebase. My main criticism is that it's overcomplicated machinery that bloats compile times and is ultimately unnecessary given the existence of Zig's strong type system and reference traces. Users who want this can create a third party package that provides this functionality. closes #18051
2023-11-03x86_64: fix std test failuresJacob Young
2023-10-31std.builtin.Endian: make the tags lower caseAndrew Kelley
Let's take this breaking change opportunity to fix the style of this enum.
2023-10-31mem: fix ub in writeIntJacob Young
Use inline to vastly simplify the exposed API. This allows a comptime-known endian parameter to be propogated, making extra functions for a specific endianness completely unnecessary.
2023-10-23x86_64: implement 128-bit builtinsJacob Young
* `@clz` * `@ctz` * `@popCount` * `@byteSwap` * `@bitReverse` * various encodings used by std
2023-10-22Revert "Revert "Merge pull request #17637 from jacobly0/x86_64-test-std""Jacob Young
This reverts commit 6f0198cadbe29294f2bf3153a27beebd64377566.
2023-10-22Revert "Merge pull request #17637 from jacobly0/x86_64-test-std"Andrew Kelley
This reverts commit 0c99ba1eab63865592bb084feb271cd4e4b0357e, reversing changes made to 5f92b070bf284f1493b1b5d433dd3adde2f46727. This caused a CI failure when it landed in master branch due to a 128-bit `@byteSwap` in std.mem.
2023-10-21x86_64: fix bugs and disable erroring testsJacob Young
2023-10-17XXH3 Implementation for Zig STD (#17530)David
XXH3 is the faster alternative to XXH64 which utilizes SIMD when hashing large chunks of memory and similar mixing to WyHash (64x64 -> 128 mul) for smaller inputs. Co-authored-by: Reixcon226 <87927264+Rexicon226@users.noreply.github.com> --------- Co-authored-by: kprotty <kbutcher6200@gmail.com>
2023-09-02std/hash: perform iterative + smhasher tests at comptimeMarc Tiehuis
Need to confirm how these fare on CI as per previous comments left which stated OOM (on stage-1).
2023-09-02std/hash: add generic tests for idempotency/iterative apiMarc Tiehuis
2023-09-02std/hash: add smhasher verification testsMarc Tiehuis
Not all hashes are added just yet as these need to be generated manually from reference implementations as they are not included by default in smhasher.
2023-07-24Xxhash perf (#15947)Dominic
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-06-24all: migrate code to new cast builtin syntaxmlugg
Most of this migration was performed automatically with `zig fmt`. There were a few exceptions which I had to manually fix: * `@alignCast` and `@addrSpaceCast` cannot be automatically rewritten * `@truncate`'s fixup is incorrect for vectors * Test cases are not formatted, and their error locations change
2023-06-02Fix std.hash benchmarks (#15917)Frank Denis
2023-04-28update codebase to use `@memset` and `@memcpy`Andrew Kelley
2023-02-21std.hash: use std.math.rotl in Xxhash64 and Xxhash32dweiller
2023-02-20std.hash: add XxHash64 and XxHash32dweiller