2 个版本
0.0.7 | 2022 年 9 月 16 日 |
---|---|
0.0.6 | 2022 年 9 月 16 日 |
#759 在 并发
65KB
1.5K SLoC
par-dfs
Rust 中的并行、串行和异步 DFS 和 BFS 遍历迭代器。
[dependencies]
par-dfs = "0"
用法
示例
cargo run --example async_fs --features async -- --path ./
cargo run --example sync_fs --features sync,rayon -- --path ./
文档
RUSTDOCFLAGS="--cfg docsrs" cargo +nightly doc --all-features
代码风格检查
cargo clippy --tests --benches --examples -- -Dclippy::all -Dclippy::pedantic
基准测试
cargo install cargo-criterion
# full benchmark suite
cargo criterion --features full
# sync benchmarks only
cargo criterion --features sync -- sync
# dfs benchmarks only
cargo criterion --features full -- dfs
CI 的基准测试报告可在此处获取。
致谢
动态增长图遍历的rayon::iter::ParallelIterator
实现基于tavianator的博客文章中的出色工作tavianator's blog post。
futures_util::stream::Buffered
的实现也有助于异步流的开发。
待办事项
- 可能合并 FastNode 和 Node 特性
- 在文档中添加示例
依赖项
~0.3–1.2MB
~26K SLoC