1 个不稳定版本
0.1.0 | 2020年11月20日 |
---|
#735 in 并发
在 async-ecs 中使用
400KB
11K SLoC
AsParIt - 异步并行迭代器
Asparit 实现了异步并行迭代器。它主要基于 rayon 的想法和代码。如需更多详细信息,请参考 rayon 的文档。Asparit 的优点在于,迭代器可以由所谓的执行器驱动。目前实现了三种不同的执行器:
- rayon - 使用 rayon 作为执行器。
- tokio - 使用 tokio 作为执行器。这使迭代器能够支持 async/await 语法。
- sequential - 简单的执行器,以顺序方式驱动迭代器。这可能对测试目的有用。
示例
使用 tokio 执行器使用 asparit 的简单示例。
use asparit::*;
let s = (0..10)
.into_par_iter()
.sum()
.exec_with(TokioExecutor::default())
.await;
assert_eq!(s, 45);
如果 tokio 被设置为默认执行器,您可以使用 exec
而不是 exec_with
。
use asparit::*;
let s = (0..10)
.into_par_iter()
.sum()
.exec()
.await;
assert_eq!(s, 45);
许可证
Asparit 在 MIT 许可证和 Apache 许可证(版本 2.0)的条款下发布。有关详细信息,请参阅 LICENSE-APACHE 和 LICENSE-MIT。提交拉取请求被视为同意这些许可条款。
依赖项
~0–1.3MB
~21K SLoC