10 个重大版本发布
0.12.0 | 2022 年 6 月 27 日 |
---|---|
0.10.0 | 2022 年 5 月 27 日 |
#693 in 并发
每月下载量 1,647
用于 4 个 crates(通过 voronator)
17KB
363 行
maybe_parallel_iterator
一次编写代码。然后通过功能标志在顺序和并行迭代器之间切换!
let a: Vec<i32> = (0..100).collect();
a.into_maybe_parallel_iterator()
.with_min_sequential(2)
.map(|n| -n)
.enumerate()
.flat_map(|(e, n)| vec![e as i32, n, n + 1000].into_maybe_parallel_iterator())
.for_each(|item| {
println!("par: {:?}", item);
})
功能
- 迭代器
into_maybe_par_iter
maybe_par_iter
maybe_par_iter_mut
- 排序
maybe_par_sort
maybe_par_sort_unstable
maybe_par_sort_by
maybe_par_sort_unstable_by
maybe_par_sort_by_key
maybe_par_sort_unstable_by_key
使用 rayon
功能标志启用 rayon 并行性。
默认为顺序("rayoff" 模式)。
限制
目前仅支持以下迭代器适配器
collect
- *
enumerate
filter_map
find_any
flat_map
for_each
map
- *
with_min_sequential
(除非启用rayon
功能,否则为空操作)
*仅当启用 rayon
功能时才对 IndexedParallelIterator》可用。
许可证
根据以下任一项许可
- Apache 许可证 2.0(《LICENSE-APACHE》或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT 许可证(《LICENSE-MIT》或 http://opensource.org/licenses/MIT)
任选其一。
贡献
除非您明确声明,否则您有意提交的任何贡献,根据 Apache-2.0 许可证定义,将按照上述方式双许可,不附加任何其他条款或条件。
依赖关系
~0–265KB