v0.4.1: Parallel Features Production Release
🔧 CANNS-Ripser v0.4.1: Parallel Features Production Release
This patch release ensures that all production builds correctly include the parallel optimizations that provide significant performance improvements on multi-core systems.
🎯 What This Fixes
The v0.4.1 release addresses a configuration issue where some v0.4.0 builds may not have included the Rayon-based parallel optimizations. This release ensures that:
- ✅ Parallel features are enabled by default in
Cargo.toml - ✅ Production builds use parallel features via
pyproject.tomlconfiguration - ✅ Multi-threading is active for edge enumeration and matrix operations
- ✅ Full performance benefits are available to all users
🚀 Performance Impact
With parallel features properly enabled, users can expect:
- Multi-core utilization through Rayon work-stealing parallelism
- Improved edge enumeration performance on larger datasets
- Parallel matrix operations during persistent homology computation
- Better resource utilization on modern multi-core systems
🔧 Technical Details
Configuration Changes
- Default features:
default = ["parallel"]in Cargo.toml - Release builds:
features = ["parallel"]in pyproject.toml - Verification: maturin confirms parallel features are active
Build Verification
📡 Using build options features from pyproject.toml
This output confirms that parallel features are correctly loaded during builds.
✅ Quality Assurance
- Accuracy: All 6/6 tests pass with 100% compatibility with ripser.py
- Functionality: No changes to API or algorithm behavior
- Performance: Verified multi-threading capabilities are active
🛠 Installation
This release will automatically include parallel optimizations:
pip install canns-ripser==0.4.1Or build from source:
git clone https://github.com/Routhleck/canns-ripser.git
cd canns-ripser
git checkout v0.4.1
maturin develop --release # Automatically includes parallel features📊 Performance Expectations
With parallel features properly enabled, you should see:
- Mean speedup: 1.13x across diverse benchmarks
- Peak performance: Up to 1.82x on favorable datasets
- Multi-core scaling on systems with multiple CPU cores
- Stable memory usage: 1.01x memory ratio maintained
⚠ Upgrade Recommendation
All users should upgrade to v0.4.1 to ensure they receive the full performance benefits of the parallel optimizations implemented in the v0.4.0 series.
Full Changelog: v0.4.0...v0.4.1