BLAKE3 1.7 Turns To Intel's oneTBB For Parallelizing C Code - Similar Perf To Rust+Rayon

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.

BLAKE3

Downloads and more details on the BLAKE3 1.7 release via GitHub.