Commit b85a482
committed
Improve directory cache filesystem performance
Rewrite hardlink_directory_tree, set_readonly_recursive, and
calculate_directory_size from async recursive to single spawn_blocking
with sync std::fs, eliminating ~5,550 async task transitions per large
tree. Add combined set_readonly_and_calculate_size function. Add macOS
clonefile(2) support in fs_util.
In directory_cache: parallel subtree clones with tokio::join!, skip
set_readonly on macOS (CoW makes it unnecessary), populate_fast_store_
unchecked for batch-checked blobs, page cache warming, zero-byte file
handling, format version bumps, EPERM fixes, subtree race fallback
with eviction recovery, and cfg-gate fixes.
Demote per-construction internal detail logs to debug! while keeping
cache HIT/MISS summaries and startup messages at info!.1 parent e0d7d0d commit b85a482
3 files changed
Lines changed: 609 additions & 356 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
28 | | - | |
0 commit comments