xxh3
intrinsics
xxh3 | intrinsics | |
---|---|---|
3 | 1 | |
406 | 35 | |
- | - | |
2.7 | 10.0 | |
over 1 year ago | over 7 years ago | |
Go | HTML | |
BSD 2-clause "Simplified" License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
xxh3
-
SIMD in Go
Not sure what you are thinking about with regard to parallel. Maybe you are thinking of xxhash 3. Both operate so close to memory speed that doing parallel blocks and merging them will probably always be slower.
-
Can I concatenate multiple non-crypto hash functions to reduce collision?
xxhash3 can supply hashes up to 128 bits and supports seeds and has pretty good speed on short inputs.
-
Fastest way to encode []int8 to bytes hash ?
If you can live with 16 bytes output and non cryptographic quality xxhash 3 you can use Hash128(values).Bytes().
intrinsics
-
SIMD in Go
A started something similar 8 years ago, but with more focus on x86-64. Seems like we pretty much took the same approach. I added stubs for them in Go Assembler, so you wouldn't need CGO.
What are some alternatives?
sha256-simd - Accelerate SHA256 computations in pure Go using AVX512, SHA Extensions for x86 and ARM64 for ARM. On AVX512 it provides an up to 8x improvement (over 3 GB/s per core). SHA Extensions give a performance boost of close to 4x over native.
xxhash - A Go implementation of the 64-bit xxHash algorithm (XXH64)
highwayhash - Native Go version of HighwayHash with optimized assembly implementations on Intel and ARM. Able to process over 10 GB/sec on a single core on Intel CPUs - https://en.wikipedia.org/wiki/HighwayHash
xxHash - Pure Go implementation of xxHash (32 and 64 bits versions)
go-highway - Go implementation of Google's HighwayHash
go-simd - SIMD implementation in Go
purego
BLAKE3 - the official Rust and C implementations of the BLAKE3 cryptographic hash function