You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Parallelize directory scan (fd-style work queue)
Replace the single-threaded recursive scan with a pool of worker
threads fed by a shared directory queue, the model fd uses:
- .gitignore state moves from a scan-owned array stack to a chain of
immutable refcounted fz_ign_node, so workers share ancestor rules
without copying; fz_index_add is serialized under a mutex.
- Entry types come from dirent d_type when the filesystem provides
it, saving one stat(2) per entry (stat remains the fallback for
symlinks and DT_UNKNOWN).
Cold-indexing a synthetic 395k-file tree drops from ~0.70s to ~0.10s
(7x). Indexed file sets are byte-identical to the old scan on the
synthetic tree, a gitignore-torture tree, and a real source tree;
full ERT + integration suite passes, cancel-mid-scan stress is clean
under ASan/UBSan.
Release 0.3.1.