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

grit restore · paths @synth-10k

Restore ~1% paths from index: grit restore -- <paths> vs git restore -- <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 restore/paths@synth-10k2026-10-27 · grit 8dbc58e77 · git version 2.43.0
toolmedianminmaxrunspeak memory
git12 ms11 ms35 ms2012 MB
grit11 ms11 ms41 ms2022 MB
grit is parmemory: 1.9× more
every timed run (log scale)
git
grit
8.6 ms52 ms
How it's measured
before each run
grit-bench prepare-worktree-restore-paths --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 restore -- > /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 restore -- > /dev/null 2>&1
fi
Where the time goesone extra traced run per tool, outside the timed runs
git · median run 12 ms
index: preload
2.4 ms
index: do_write_index
2.2 ms
index: do_read_index
0.6 ms
cache_tree: read
0.0 ms
cache_tree: write
0.0 ms
grit · median run 11 ms
grit.index.write
3.1 ms
grit.index.read
0.8 ms
grit.repository.open
0.2 ms
grit.config.load ×2
0.1 ms
grit.pack.index.open
0.0 ms
Every day8 days
dategrit commitgitgritgrit vs gitgrit peak
2026-10-278dbc58e7712 ms11 mspar22 MB
2026-10-26c7cf2c44321 ms23 ms1.1× slower24 MB
2026-10-252824ad39112 ms12 mspar21 MB
2026-10-24157a05dde13 ms13 mspar22 MB
2026-10-23bddf92f8614 ms17 ms1.2× slower22 MB
2026-10-224c131b94213 ms15 ms1.2× slower20 MB
2026-10-21d4844e92a12 ms14 ms1.1× slower20 MB
2026-10-204754ad0b915 ms1.34 s89× slower19 MB