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

grit stash · push-paths @synth-10k

Stash ~1% pathspec: grit stash push -- <paths> vs git stash push -- <paths>

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-paths@synth-10k2026-10-27 · grit 8dbc58e77 · git version 2.43.0
toolmedianminmaxrunspeak memory
git72 ms70 ms81 ms2019 MB
grit31 ms30 ms33 ms2028 MB
grit is 2.3× fastermemory: 1.5× more
every timed run (log scale)
git
grit
24 ms101 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 && grit-bench prepare-worktree-add --git git
git runs
$ set -eu
if [ -s /tmp/grit-bench-scratch/daily-synth-10k/.grit-bench-worktree-paths ]; then
  tr '\n' '\0' < /tmp/grit-bench-scratch/daily-synth-10k/.grit-bench-worktree-paths | xargs -0 git stash push -q -- > /dev/null 2>&1
fi
grit runs
$ set -eu
if [ -s /tmp/grit-bench-scratch/daily-synth-10k/.grit-bench-worktree-paths ]; then
  tr '\n' '\0' < /tmp/grit-bench-scratch/daily-synth-10k/.grit-bench-worktree-paths | xargs -0 grit stash push -- > /dev/null 2>&1
fi
Where the time goesone extra traced run per tool, outside the timed runs
git · median run 72 ms
index: do_write_index ×7
16 ms
run: git add
16 ms
unpack_trees: unpack_trees ×5
13 ms
run: git diff-index
9.7 ms
run: git apply
8.9 ms
index: preload ×8
7.9 ms
unpack_trees: traverse_trees ×5
7.0 ms
run: git update-index
5.9 ms
index: do_read_index ×6
3.3 ms
index: refresh ×3
0.7 ms
index: name-hash-init ×2
0.5 ms
cache_tree: update
0.2 ms
cache_tree: read ×6
0.1 ms
cache_tree: write ×7
0.1 ms
grit · median run 31 ms
grit.index.read ×5
3.8 ms
grit.index.write
2.8 ms
grit.repository.open ×2
0.4 ms
grit.config.load ×4
0.2 ms
grit.pack.index.open
0.0 ms
Every day8 days
dategrit commitgitgritgrit vs gitgrit peak
2026-10-278dbc58e7772 ms31 ms2.3× faster28 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——