No description
- Rust 100%
Add feature `simd` with NEON, SSE4.1, AVX2 and WebAssembly SIMD kernels. This hashes up to 4/8 independent inputs at the same time, one input per lane. On x86_64 the right backend is chosen at runtime. Add feature `pool` with William3Pool, a worker pool that packs concurrent small hashing jobs into SIMD lanes. `simd` and `pool` are enabled by default. Everything is bit-identical to the portable implementation. Also export chunk_label and inner_label for protocol verifiers and add a throughput example. |
||
|---|---|---|
| examples | ||
| fuzz | ||
| src | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| CHANGELOG.md | ||
| LICENSE-APACHE | ||
| LICENSE-MIT | ||
| README.md | ||
| william3vectors.txt | ||
Bab in Rust
A Rust implementation of the Bab family of hash functions in general, and the WILLIAM3 instantiation in particular.
See the docs for more details.
Changes in this fork
Forked from worm-blossom/bab_rs 0.8.1.
- Adds the
simdandpoolfeatures, both on by default.simd: SIMD-parallel hashing of independent inputs on NEON, SSE4.1, AVX2 and WebAssembly SIMD.pool:William3Pool, a thread pool that packs concurrent small hash jobs into the SIMD lanes.
- Output is bit-identical to upstream bab_rs.