Skip to content

0.37.0

Choose a tag to compare

@jqnatividad jqnatividad released this 26 Jul 11:15
· 175 commits to master since this release

What's Changed

🚀 Performance Optimizations

  • Microoptimized streaming add function - Enhanced performance of the core statistical computation loop
  • Improved branch prediction - Optimized conditional logic for better CPU pipeline efficiency
  • Specialized f64 add function - Added add_f64() method that skips ToPrimitive conversion overhead for direct float values
  • Optimized match evaluation - Fine-tuned pattern matching for better performance

✨ New Features

  • Direct f64 support - New add_f64() method provides faster path for float64 values without type conversion
  • Enhanced harmonic/geometric sum tracking - Added hg_sums flag to optimize computation paths when negative values or zeros are not present

🔧 Code Quality & Maintenance

  • Lint configuration - Added #[allow(clippy::match_same_arms)] for optimized match patterns
  • Memory layout optimization - Adjusted struct padding to maintain 64-byte cache alignment while adding new fields
  • Improved null handling - Updated add_null() method to use the optimized add_f64(0.0) path

Full Changelog: 0.36.0...0.37.0