Performance
-
check should_interrupt per entry in index_as_worktree.
The interrupt flag was only checked at chunk boundaries (~500 entries, 'just
like git'), so an in-flight chunk ran to completion even after interruption was
requested. Check it per entry instead.This makes an interrupted status responsive instead of waiting up to a chunk,
and in particular lets the background index-vs-worktree scan that
Repository::is_dirty() leaves running (after it early-returns on the first
change) wind down promptly. On a 50k-file repo with a dirty worktree, a tight
is_dirty() loop drops from ~49ms to ~35ms by not letting those background
scans pile up. The added cost is one Relaxed atomic load per entry; clean and
uninterrupted scans are unaffected (measured within noise).
Commit Statistics
- 7 commits contributed to the release over the course of 27 calendar days.
- 27 days passed between releases.
- 1 commit was understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
view details
- Uncategorized
- Merge pull request #2635 from GitoxideLabs/dependabot/cargo/cargo-7b971a5e8c (155ff6d)
- Bump the cargo group with 40 updates (9402adc)
- Merge pull request #2631 from sharifhsn/perf/is-dirty-fast-path (19e4330)
- Check should_interrupt per entry in index_as_worktree. (01d1aaa)
- Merge pull request #2598 from cruessler/run-gix-index-tests-with-sha-256 (b5b2d54)
- Review (bc4064c)
- Merge pull request #2618 from GitoxideLabs/report (f7d4f33)