Skip to content

v0.3.1

Choose a tag to compare

@github-actions github-actions released this 28 Aug 09:30
· 24 commits to main since this release
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.