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

grit reset · sparse @sparse-unique-120k

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

repo: 120,000-file repository with unique blobs and a 300-file visible sparse workset · 120,000 files · 2 commits · 3 refs

$ grit-bench daily --only reset/sparse@sparse-unique-120k2026-10-27 · grit 8dbc58e77 · git version 2.43.0
toolmedianminmaxrunspeak memory
git54 ms54 ms54 ms522 MB
grit889 ms882 ms908 ms591 MB
grit is 16× slowermemory: 4.2× more
every timed run (log scale)
git
grit
43 ms1.14 s
How it's measured
git runs
$ git reset --hard sparse-base && git reset --hard sparse-edited
grit runs
$ grit reset --hard sparse-base && grit reset --hard 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 54 ms
cache-tree: prime_cache_tree ×2
35 ms
unpack_trees: unpack_trees ×2
13 ms
progress: Updating ×6
13 ms
index: clear_skip_worktree_from_present_files ×4
0.8 ms
index: do_write_index ×2
0.6 ms
unpack_trees: traverse_trees ×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
progress: Filtering ×2
0.0 ms
unpack_trees: clear_ce_flags(0x00080000,0x42000000) ×2
0.0 ms
grit · median run 889 ms
grit.index.write ×2
514 ms
grit.diff.tree ×2
50 ms
grit.repository.open ×2
0.4 ms
grit.index.read ×2
0.3 ms
grit.config.load ×4
0.1 ms
grit.pack.index.open ×2
0.0 ms
Every day8 days
dategrit commitgitgritgrit vs gitgrit peak
2026-10-278dbc58e7754 ms889 ms16× slower91 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——