aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-03-21macOS-latest runners are now ARM CPUsJack O'Connor
2025-03-18mention the "wasm32_simd" Cargo feature in the crate docsJack O'Connor
2025-03-18version 1.7.01.7.0Jack O'Connor
Changes since 1.6.1: - The C implementation has gained multithreading support, based on Intel's oneTBB library. This works similarly to the Rayon-based multithreading used in the Rust implementation. See c/README.md for details. Contributed by @silvanshade (#445). - The Rust implementation has gained a WASM SIMD backend, gated by the `wasm32_simd` Cargo feature. Under Wasmtime on my laptop, this is a 6x performance improvement for large inputs. This backend is currently Rust-only. Contributed by @monoid (#341). - Fixed cross-compilation builds targeting Windows with cargo-xwin. Contributed by @Sporif and @toothbrush7777777 (#230). - Added `b3sum --tag`, which changes the output format. This is for compatibility with GNU checksum tools (which use the same flag) and BSD checksum tools (which use the output format this flag turns on). Contributed by @leahneukirchen (#453) and @dbohdan (#430).
2025-03-18README.md tweaksJack O'Connor
2025-03-18make the test_vectors tests WASM-compatibleJack O'Connor
2025-03-18add wasm tests to CIJack O'Connor
2025-03-17many_chunks and many_parents benchmarks for wasmJack O'Connor
2025-03-17Define runner for wasm32-wasip1 target in config.tomlIvan Boldyrev
2025-03-16Rust 1.80 compatibility form `blake3_wasm32_simd`Ivan Boldyrev
2025-03-16Make some function safeIvan Boldyrev
Certain functions' unsafety comes from v128 loads and store. If argument types guarantee that these loads and stores are safe, function is declared safe, and internal unsafe blocks are commented.
2025-03-16Fix platform constantsIvan Boldyrev
2025-03-16Fix commentIvan Boldyrev
2025-03-16Remove unsafe from functions that do not need itIvan Boldyrev
Wasm SIMD API has certain function safe.
2025-03-16Misc textual improvementsIvan Boldyrev
2025-03-16Wasm32 SIMD implementationIvan Boldyrev
This code is based on rust_sse2.rs of the same distribution, and is subject to further improvements. Some comments are left intact even if their applicability is questioned. SIMD implementation is gated by `wasm32-simd` feature, portable version is used otherwise. Performance measurements with a primitive benchmark with ~16Kb of data: | M1 native | 11,610 ns | | M1 WASM SIMD | 13,355 ns | | M1 WASM | 22,037 ns | | x64 native | 6,713 ns | | x64 WASM SIMD | 11,985 ns | | x64 WASM | 25,978 ns | wasmtime v12.0.1 was used on both platforms. Closes #187.
2025-03-15close the fd in example_tbb.cJack O'Connor
2025-03-15example_tbb.cJack O'Connor
2025-03-15[C library] use Windows asm for cygwinMaksim Bondarenkov
in cygwin falling to Unix asm make build fails with it
2025-03-15cargo_xwin_build -> cargo_xwin_testJack O'Connor
2025-03-14add cargo_xwin_build to CIJack O'Connor
2025-03-14@toothbrush7777777's fix for `use_msvc_asm`Jack O'Connor
https://github.com/BLAKE3-team/BLAKE3/pull/230#issuecomment-2014908888
2025-03-14Fix cross compilation with clang-clSporif
2025-03-14factor out an "msrv_build" job in CIJack O'Connor
This job uses `cargo build` instead of `cargo test`, to exclude dev dependencies.
2025-03-14Include nix under Adoption & deploymentsilvanshade
2025-03-13README.md and c/README.md edits related to multithreadingJack O'Connor
2025-03-13tbb support in blake3_c_rust_bindingsJack O'Connor
2025-03-13Implement TBB-based parallelism for C libsilvanshade
2025-03-09update the MSRV in CI to 1.78Jack O'Connor
The "true" MSRV of the base crate is unchanged, 1.66. This bump is needed to run the `ignore` crate, a testing-only dependency.
2025-03-09use `ignore` to avoid overdoing rerun-if-changed in bindingsJack O'Connor
2025-03-02ci(cmake): test the minimum required versionHenrik Steffen Gaßmann
We only test on Ubuntu due to the fact that CMake 3.9.6 does not recognize modern MSVC versions and the main use case for these ancient CMake versions are extremely conservative Linux distributions. Note that CMake 3.9.6 does not support the modern convenience commandline interface.
2025-03-02build(cmake): improve CMake backwards compatibilityHenrik Steffen Gaßmann
There are no default paths for target installs on CMake 3.9.
2025-02-28use rsplit_once for parsing tagged lines, add test casesJack O'Connor
2025-02-28make anyhow::Result explicit in main.rsJack O'Connor
2025-02-28use --tag docstring wording closer to md5sum'sJack O'Connor
2025-02-28reduce code duplication in parse_check_lineJack O'Connor
2025-02-28combine test_check and test_check_tagJack O'Connor
2025-02-28add testsLeah Neukirchen
Adapted from https://github.com/BLAKE3-team/BLAKE3/pull/430/ by dbohdan.
2025-02-28b3sum: add tag support for --checkLeah Neukirchen
2025-02-28b3sum: add --tagLeah Neukirchen
2025-02-27version 1.6.11.6.1Jack O'Connor
Changes since 1.6.0: - Remove `mmap` from the default features list. It was added accidentally in v1.6.0, last week. This is technically a backwards-incompatible change, but I would rather not tag v2.0.0 for a build-time bugfix with a simple workaround.
2025-02-27remove mmap from the default features listJack O'Connor
I committed this change accidentally in a12fa7b8a4131d77c35eda5c680b9307a0fc28d3. Thanks to @ArmoredPony for catching this in https://github.com/BLAKE3-team/BLAKE3/issues/452.
2025-02-20revert `unsafe extern "C"` blocksJack O'Connor
This will be necessary when we eventually move to the 2024 edition, but for now it's an unnecessary MSRV bump.
2025-02-20add `unsafe` annotations needed for the 2024 editionJack O'Connor
2025-02-17version 1.6.01.6.0Jack O'Connor
Changes since 1.5.5: - Add Hash::from_slice. (#448) - Fix a build error on Windows 7 targets. (#447)
2025-02-17update b3sum/Cargo.lockJack O'Connor
2025-02-17Add `Hash::from_slice` to handle conversion from `&[u8]` bytesJosh Triplett
This is a convenience method, to avoid having to first call `<[u8; 32]>::try_from(slice)?`.
2025-02-13fix build.rs errors on win7 targetsOmer Cheri
2025-02-06remove checks that memmap2 does internallyJack O'Connor
2025-02-03replace a couple deprecated functions in benchmarksJack O'Connor
2025-02-03upgrade rand to v0.9Jack O'Connor