#iterator #thread #parallel-iterator #parallel

readahead-iterator

在单独的线程上从迭代器读取,按顺序同步返回项

2 个版本

0.1.1 2021 年 4 月 26 日
0.1.0 2021 年 4 月 25 日

#627 in 并发

Download history 84/week @ 2024-03-17 108/week @ 2024-03-24 158/week @ 2024-03-31 135/week @ 2024-04-07 103/week @ 2024-04-14 85/week @ 2024-04-21 75/week @ 2024-04-28 76/week @ 2024-05-05 84/week @ 2024-05-12 92/week @ 2024-05-19 108/week @ 2024-05-26 97/week @ 2024-06-02 85/week @ 2024-06-09 93/week @ 2024-06-16 87/week @ 2024-06-23 17/week @ 2024-06-30

296 每月下载量
2 个 Crates 中使用 (通过 conserve)

MIT/Apache

8KB
68

迭代器读取适配器

项由单独的线程中的迭代器生成,并以常规迭代器的形式返回给调用者,保持相同的顺序。

当包装迭代器执行大量可以与其他线程上的工作并行化的工作时会很有用。例如,如果迭代器和其客户端都是 CPU 密集型,则它们可以使用不同的核心。或者如果迭代器在多个文件上进行阻塞 IO,则可以重叠打开后续文件与处理早期文件。

Rayon 提供了 更多 强大的并行化迭代器的方式。此适配器适用于一些更简单和补充的情况

  • 生产者和消费者都是顺序的。

  • 应逐个按顺序产生和消耗项,但生产和消费可以重叠。

  • 工作可能是 IO 密集型的,因此可以专门为该迭代器分配一个线程,而不是使用 NCPUS 线程池。

无运行时依赖