parawalk
Blazing-fast parallel directory walker with zero filtering baggage.
parawalk is a minimal parallel filesystem traversal library. It uses a work-stealing scheduler (crossbeam-deque) to walk directory trees across multiple threads, giving each thread its own visitor so there's no shared state or locking in the hot path.
parawalk is not a drop-in replacement for the ignore crate.
It does not parse .gitignore files, glob patterns, or apply any filtering
rules. It focuses solely on fast parallel traversal — filtering and matching
are left to the caller.
Features
- Work-stealing parallel traversal (crossbeam-deque)
- Per-thread visitors — no
Mutex, no contention - Pre-filter hook on borrowed
&OsStr— zero allocation for skipped entries - PathBuf only materialized for entries that pass the pre-filter
- Configurable thread count, max depth, and symlink following
#![forbid(unsafe_code)]
Quick Start
[]
= "0.1"
use ;
use mpsc;
let = channel;
walk;
let count = rx.into_iter.count;
println!;
Usage
See DOCS.md for the full API reference and usage guide.
License
MIT