Module parallel

Module parallel 

Source
Expand description

Parallel iteration abstraction for WASM compatibility.

This module provides conditional parallel/sequential iteration based on the parallel feature flag. On native targets with the parallel feature, uses rayon for multi-threaded execution. On WASM or without the feature, falls back to sequential iteration.

§Usage

Use the iter_maybe_parallel! macro to conditionally parallelize iteration:

use crate::parallel::iter_maybe_parallel;

let results: Vec<_> = iter_maybe_parallel!((0..n))
    .map(|i| expensive_computation(i))
    .collect();

Macros§

iter_maybe_parallel
Macro for conditionally parallel iteration over ranges.
maybe_par_chunks_mut
Macro for parallel/sequential chunks iteration on mutable slices.
maybe_par_chunks_mut_enumerate
Macro for enumerated parallel/sequential chunks iteration.
slice_maybe_parallel
Macro for conditionally parallel reference iteration over slices.
slice_maybe_parallel_mut
Macro for conditionally parallel mutable iteration over slices.