Crate rayon_cond
source ·Expand description
Experimental iterator wrapper that is conditionally parallel or serial, using
Rayon’s ParallelIterator
or the standard Iterator
respectively.
Usage
First add this crate to your Cargo.toml
:
[dependencies]
rayon-cond = "0.3"
Then in your code, it may be used something like this:
use rayon_cond::CondIterator;
let args: Vec<_> = std::env::args().collect();
// Run in parallel if there are an even number of args
let par = args.len() % 2 == 0;
CondIterator::new(args, par).enumerate().for_each(|(i, arg)| {
println!("arg {}: {:?}", i, arg);
});
Enums
- An iterator that could be parallel or serial, with a common API either way.