News: 0001534852

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

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

([Programming] 4 Hours Ago BLAKE3 1.7)


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 [1]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 [2]GitHub .



[1] https://github.com/BLAKE3-team/BLAKE3/pull/445

[2] https://github.com/BLAKE3-team/BLAKE3/releases/tag/1.7.0



Danny3

skeevy420

My philosophy is: Don't think.
-- Charles Manson