grit://cooking/bench/stash/push-pop@synth-10k
← cookingall benchmarksraw data

grit stash · push-pop @synth-10k

Stash push and pop vs git stash

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 stash/push-pop@synth-10k2026-10-27 · grit 8dbc58e77 · git version 2.43.0
toolmedianminmaxrunspeak memory
git193 ms190 ms204 ms1018 MB
grit125 ms124 ms127 ms1025 MB
grit is 1.5× fastermemory: 1.4× more
every timed run (log scale)
git
grit
98 ms257 ms
How it's measured
before each run
grit-bench prepare-stash --git git
git runs
$ git stash push -q && git stash pop -q
grit runs
$ grit stash && grit stash pop
Where the time goesone extra traced run per tool, outside the timed runs
git · median run 193 ms
unpack_trees: unpack_trees ×8
116 ms
merge: checkout
72 ms
run: git reset
48 ms
index: do_write_index ×9
26 ms
run: git update-index
16 ms
unpack_trees: traverse_trees ×8
11 ms
index: refresh ×4
9.4 ms
index: preload ×9
9.3 ms
cache_tree: update ×2
3.9 ms
index: do_read_index ×5
3.0 ms
cache-tree: prime_cache_tree
1.7 ms
cache_tree: write ×9
0.2 ms
merge: incore_nonrecursive
0.2 ms
cache_tree: read ×5
0.1 ms
merge: process_entries ×3
0.1 ms
merge: collect_merge_info
0.1 ms
merge: traverse_trees
0.0 ms
merge: write_auto_merge
0.0 ms
merge: plist ×3
0.0 ms
merge: merge_start
0.0 ms
grit · median run 125 ms
grit.index.write ×2
3.8 ms
grit.index.read ×4
3.2 ms
grit.diff.tree ×3
2.3 ms
grit.repository.open ×3
0.5 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-278dbc58e77193 ms125 ms1.5× faster25 MB
2026-10-26c7cf2c443407 ms392 mspar29 MB
2026-10-252824ad391221 ms192 ms1.2× faster26 MB
2026-10-24157a05dde213 ms363 ms1.7× slower27 MB
2026-10-23bddf92f86193 ms334 ms1.7× slower27 MB
2026-10-224c131b942216 ms369 ms1.7× slower26 MB
2026-10-21d4844e92a193 ms349 ms1.8× slower25 MB
2026-10-204754ad0b9246 ms388 ms1.6× slower24 MB