grit://cooking/bench/reset/keep@synth-10k
← cookingall benchmarksraw data

grit reset · keep @synth-10k

Reset branch with unrelated local edits: grit reset --keep HEAD~1 vs git reset --keep HEAD~1

repo: 10,000-file synthetic repository; canonical cached shape, scenario variants documented by the runner · 10,000 files · 1,000 commits · 800 refs

$ grit-bench daily --only reset/keep@synth-10k2026-10-27 · grit 8dbc58e77 · git version 2.43.0
toolmedianminmaxrunspeak memory
git11 ms10 ms11 ms2011 MB
grit13 ms13 ms17 ms2023 MB
grit is 1.3× slowermemory: 2.1× more
every timed run (log scale)
git
grit
8.0 ms21 ms
How it's measured
before each run
set -eu set -eu 'grit-bench' prepare-daily-reset --git git cd /tmp/grit-bench-scratch/daily-synth-10k/worktree-run-synth-10k target=$(cat /tmp/grit-bench-scratch/daily-synth-10k/.grit-bench-reset-keep-path) echo bench-local >> "$target"
git runs
$ git reset --keep HEAD~1
grit runs
$ grit reset --keep HEAD~1
Where the time goesone extra traced run per tool, outside the timed runs
git · median run 11 ms
unpack_trees: unpack_trees ×2
3.3 ms
unpack_trees: traverse_trees ×2
2.4 ms
index: do_write_index
2.2 ms
cache-tree: prime_cache_tree
1.7 ms
index: do_read_index
0.5 ms
cache_tree: update
0.3 ms
progress: Updating
0.2 ms
cache_tree: read
0.0 ms
cache_tree: write
0.0 ms
progress: Filtering
0.0 ms
grit · median run 13 ms
grit.index.read ×3
2.5 ms
grit.index.write
2.5 ms
grit.checkout.write
0.2 ms
grit.repository.open
0.2 ms
grit.config.load ×2
0.1 ms
grit.checkout.plan
0.1 ms
grit.pack.index.open
0.0 ms
Every day8 days
dategrit commitgitgritgrit vs gitgrit peak
2026-10-278dbc58e7711 ms13 ms1.3× slower23 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——