mirror of
https://github.com/fumiama/blake2b-simd.git
synced 2026-06-28 07:50:36 +08:00
f41b7a312a10935324c33c740f3a1b4ec800bcc6
- Add UNDIAGONALIZE define - Add DIAGONALIZE define - Add G1 define - Add G2 define - Add LOAD_SHUFFLE define Additionally check for AVX support.
BLAKE2b-SIMD
Pure Go implementation of BLAKE2b using SIMD optimizations.
Introduction
This package is based on the pure go BLAKE2b implementation of Dmitry Chestnykh and merges it with the (cgo dependent) SSE optimized BLAKE2 implementation (which in turn is based on official implementation. It does so by using Go's Assembler for amd64 architectures with a fallback for other architectures.
It gives roughly a 3x performance improvement over the non-optimized go version.
Benchmarks
| Dura | 1 GB |
|---|---|
| blake2b-SIMD | 1.59s |
| blake2b | 4.66s |
Description
Fast hashing using pure Go implementation of BLAKE2b with SIMD instructions
Languages
Go
51.4%
Assembly
48.6%