BLAKE3 as the cryptographic hashing function that is much faster than the likes of SHA-1/SHA-1 while being more secure than SHA-1 and MD5 is out with a new feature update. BLAKE3 v1.7 is now available for the official C and Rust code as the reference implementations to this cryptographic hash function.
While BLAKE3’s Rust implementation has long supported CPU multi-threading using the Rayon data parallelism library, the reference C code had been single-threaded up until now. With the BLAKE 1.7 release, the C code now supports multi-threading by leveraging Intel’s oneTBB library, formerly known as the Threaded Building Blocks.
BLAKE3’s C + Intel oneTBB approach is similar to its Rust design with the Rayon library. It turns out the C+oneTBB version performs similarly to the Rust+Rayon code. The developer behind the oneTBB multi-threaded code commented in the pull request:
“I haven’t included benchmarks here but informal testing on a Zen4 7950X workstation shows nearly identical performance to the Rayon implementation for large memory-mapped input.”
In addition to the BLAKE 1.7 C code now being multi-threaded with oneTBB, the Rust version has gained a WebAssembly (WASM) SIMD back-end. In turn this WASM SIMD back-end can yield around a 6x performance improvement for large inputs.
Downloads and more details on the BLAKE3 1.7 release via GitHub.