| Crates.io | plmap |
| lib.rs | plmap |
| version | 0.3.0 |
| created_at | 2022-09-15 08:43:28.322761+00 |
| updated_at | 2022-09-18 10:34:11.409512+00 |
| description | Parallel pipelined map over iterators. |
| homepage | |
| repository | https://github.com/andrewchambers/plmap-rust |
| max_upload_size | |
| id | 666535 |
| size | 13,964 |
Parallel pipelined map over iterators for rust.
Parallel pipelined mapping:
// Import the iterator extension trait.
use plmap::PipelineMap;
// Map over an iterator in parallel with 5 worker threads.
fn example() {
for i in (0..100).plmap(5, |x| x * 2) {
println!("i={}", i);
}
}
Map with your own type instead of a function:
use plmap::{Mapper, PipelineMap};
// The type must support clone as each worker thread gets a copy.
#[derive(Clone)]
struct CustomMapper {}
impl Mapper<i32> for CustomMapper {
type Out = i64;
fn apply(&mut self, x: i32) -> i64 {
(x * 2) as i64
}
}
fn custom_mapper() {
for i in (0..100).plmap(5, CustomMapper{}) {
println!("i={}", i);
}
}