grit://cooking/bench/switch/sparse@sparse-120k
← cookingall benchmarksraw data

grit switch · sparse @sparse-120k

Sparse switch out and back, 300 visible files and 400 excluded directories

repo: 120,000-file repository with a 300-file visible sparse workset; sparse reset/switch scaling · 120,000 files · 2 commits · 3 refs

$ grit-bench daily --only switch/sparse@sparse-120k2026-10-27 · grit 8dbc58e77 · git version 2.43.0
toolmedianminmaxrunspeak memory
git42 ms41 ms44 ms207.8 MB
grit23 ms22 ms24 ms2020 MB
grit is 1.8× fastermemory: 2.6× more
every timed run (log scale)
git
grit
18 ms55 ms
How it's measured
git runs
$ git switch --detach sparse-base && git switch --detach sparse-edited
grit runs
$ grit switch --detach sparse-base && grit switch --detach sparse-edited
checked first
before timing, git and grit were each run once and their results compared
Where the time goesone extra traced run per tool, outside the timed runs
git · median run 42 ms
unpack_trees: unpack_trees ×4
36 ms
unpack_trees: traverse_trees ×4
23 ms
index: refresh ×2
1.7 ms
index: do_write_index ×2
0.4 ms
cache_tree: update ×2
0.4 ms
index: clear_skip_worktree_from_present_files ×2
0.4 ms
index: do_read_index ×2
0.3 ms
cache_tree: read ×2
0.1 ms
unpack_trees: clear_ce_flags(0x00000000,0x02000000) ×2
0.1 ms
cache_tree: write ×2
0.1 ms
unpack_trees: clear_ce_flags(0x00080000,0x42000000) ×2
0.0 ms
grit · median run 23 ms
grit.index.write ×2
0.6 ms
grit.repository.open ×2
0.4 ms
grit.index.read ×2
0.2 ms
grit.config.load ×6
0.2 ms
grit.pack.index.open ×2
0.0 ms
Every day8 days
dategrit commitgitgritgrit vs gitgrit peak
2026-10-278dbc58e7742 ms23 ms1.8× faster20 MB
2026-10-26c7cf2c443—not run——
2026-10-252824ad391—not run——
2026-10-24157a05dde—not run——
2026-10-23bddf92f86—not run——
2026-10-224c131b942—not run——
2026-10-21d4844e92a—not run——
2026-10-204754ad0b9—not run——