Module lazy_parallel

Module lazy_parallel 

Source
Expand description

Parallel lazy query implementation using rayon for parallel processing.

This module provides parallel lazy evaluation of queries, deferring execution until results are actually consumed, but using multiple threads for better performance.

§Benefits

  • Deferred execution: No work until results needed
  • Parallel processing: Utilizes multiple CPU cores
  • Iterator fusion: Rust optimizes chained operations
  • Early termination: .take() stops as soon as enough items found
  • Composable: Build complex queries by composition
  • Thread-safe: All operations are Send + Sync

§Example

// Nothing executes yet
let query = LazyParallelQuery::new(&products)
    .where_(Product::price(), |&p| p < 100.0)
    .where_(Product::stock(), |&s| s > 0);

// Parallel execution happens here
let results: Vec<_> = query.collect_parallel();