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

grit switch · sparse @sparse-240k

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

repo: 240,000-file repository with a 300-file visible sparse workset · 240,000 files · 2 commits · 3 refs

$ grit-bench daily --only switch/sparse@sparse-240k2026-10-27 · grit 8dbc58e77 · git version 2.43.0
toolmedianminmaxrunspeak memory
git62 ms61 ms65 ms208.1 MB
grit24 ms22 ms25 ms2020 MB
grit is 2.6× fastermemory: 2.5× more
every timed run (log scale)
git
grit
18 ms81 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 62 ms
unpack_trees: unpack_trees ×4
56 ms
unpack_trees: traverse_trees ×4
43 ms
index: refresh ×2
1.7 ms
index: do_write_index ×2
0.5 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 24 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-278dbc58e7762 ms24 ms2.6× 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——