Skip to content

Commit 5018bdf

Browse files
doublegateclaude
andcommitted
fix(ci): remove conflicting BLAKE3 feature flags
Remove `simd-neon` and `pure` feature flags from wraith-files/Cargo.toml that conflict when CI runs with `--all-features`. BLAKE3 automatically detects and uses the best available SIMD instructions, so explicit feature flags are unnecessary and cause build failures. - Remove simd-neon feature (auto-enabled on aarch64) - Remove pure feature (conflicts with SIMD features) - Keep rayon feature for multi-threading - Update tree_hash.rs documentation to match 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 3e944c0 commit 5018bdf

File tree

2 files changed

+3
-26
lines changed

2 files changed

+3
-26
lines changed

crates/wraith-files/Cargo.toml

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -9,23 +9,11 @@ repository.workspace = true
99
authors.workspace = true
1010

1111
[features]
12-
# SIMD acceleration features for BLAKE3 hashing
13-
# Enable the appropriate feature for your target platform for maximum performance
14-
15-
# Default: Rayon multi-threading + SIMD (auto-detected by blake3)
16-
default = ["rayon"]
17-
18-
# Multi-threading with rayon (recommended for all platforms)
12+
# BLAKE3 multi-threading with rayon (recommended for all platforms)
1913
# BLAKE3 automatically uses SIMD (AVX2, AVX-512, NEON) based on target CPU
14+
default = ["rayon"]
2015
rayon = ["blake3/rayon"]
2116

22-
# ARM NEON SIMD (auto-enabled on aarch64, 2-4x speedup on ARM)
23-
# Note: NEON is automatically enabled on aarch64; this feature is for explicit control
24-
simd-neon = ["blake3/neon"]
25-
26-
# Pure Rust implementation (no SIMD, for compatibility)
27-
pure = ["blake3/pure"]
28-
2917
[dependencies]
3018
wraith-core = { workspace = true }
3119
wraith-crypto = { workspace = true }

crates/wraith-files/src/tree_hash.rs

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@
1515
//!
1616
//! - `default`: Rayon multi-threading + automatic SIMD detection (recommended)
1717
//! - `rayon`: Multi-threaded hashing across cores
18-
//! - `simd-neon`: Explicit ARM NEON SIMD (auto-enabled on aarch64)
19-
//! - `pure`: Pure Rust implementation without SIMD (for compatibility)
2018
//!
2119
//! ## SIMD Support
2220
//!
@@ -39,22 +37,13 @@
3937
//! wraith-files = { version = "*", features = ["rayon"] }
4038
//! ```
4139
//!
42-
//! **Pure Rust (no SIMD):**
43-
//! ```toml
44-
//! wraith-files = { version = "*", features = ["pure"] }
45-
//! ```
46-
//!
4740
//! ## Performance
4841
//!
49-
//! With SIMD acceleration enabled:
42+
//! With SIMD acceleration (automatic):
5043
//! - **File hashing**: >3 GiB/s (in-memory), >1.5 GiB/s (from disk)
5144
//! - **Chunk verification**: <1 μs per 256 KiB chunk
5245
//! - **Incremental hashing**: >2 GiB/s (streaming)
5346
//!
54-
//! Without SIMD (software-only):
55-
//! - **File hashing**: ~800 MiB/s
56-
//! - **Chunk verification**: ~3 μs per chunk
57-
//!
5847
//! SIMD provides a 2-4x speedup on most platforms, with AVX-512 reaching
5948
//! up to 8x on supported hardware.
6049

0 commit comments

Comments
 (0)