#并行迭代器 #迭代器 #并行

rayon-cond

有条件的并行或串行迭代器包装器

3 个版本 (重大更改)

0.3.0 2023年6月27日
0.2.0 2021年5月21日
0.1.0 2019年2月22日

#177并发

Download history 38686/week @ 2024-04-23 32070/week @ 2024-04-30 26567/week @ 2024-05-07 30364/week @ 2024-05-14 26459/week @ 2024-05-21 28897/week @ 2024-05-28 30848/week @ 2024-06-04 30718/week @ 2024-06-11 30793/week @ 2024-06-18 32549/week @ 2024-06-25 27287/week @ 2024-07-02 31283/week @ 2024-07-09 29022/week @ 2024-07-16 35360/week @ 2024-07-23 30309/week @ 2024-07-30 31137/week @ 2024-08-06

每月下载量130,562次
104 个 Crates 中使用 (直接使用7个)

Apache-2.0/MIT

28KB
728

rayon-cond

Crate Documentation minimum rustc 1.38 Build Status

使用 Rayon 的 ParallelIterator 或标准 Iterator 分别实现有条件的并行或串行迭代的实验性迭代器包装器。

用法

首先将此 crate 添加到您的 Cargo.toml

[dependencies]
rayon-cond = "0.3"

然后在您的代码中,它可能被使用如下所示

use rayon_cond::CondIterator;

fn main() {
    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);
    });
}

rayon-cond 目前需要 rustc 1.38.0 或更高版本。

许可证

根据您选择的以下许可证之一授权

由您选择。

贡献

除非您明确声明,否则根据 Apache-2.0 许可证定义,您有意提交以包含在本作品中的任何贡献,都将如上所述双重许可,而无需任何附加条款或条件。

依赖项

~1.5MB
~33K SLoC