grit://cooking/bench/add/modified@synth-10k
← cookingall benchmarksraw data

grit add · modified @synth-10k

Stage modified files vs git add -A

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 add/modified@synth-10k2026-10-27 · grit 8dbc58e77 · git version 2.43.0
toolmedianminmaxrunspeak memory
git16 ms16 ms30 ms2012 MB
grit11 ms9.8 ms28 ms2025 MB
grit is 1.5× fastermemory: 2.1× more
every timed run (log scale)
git
grit
7.7 ms37 ms
How it's measured
before each run
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 add -- > /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 add -- > /dev/null 2>&1
fi
Where the time goesone extra traced run per tool, outside the timed runs
git · median run 16 ms
index: do_write_index
2.3 ms
index: preload
2.3 ms
index: do_read_index
0.5 ms
dir: read_directory
0.3 ms
index: name-hash-init
0.2 ms
cache_tree: read
0.0 ms
cache_tree: write
0.0 ms
grit · median run 11 ms
grit.index.write
2.3 ms
grit.index.read
0.8 ms
grit.repository.open
0.2 ms
grit.config.load ×2
0.1 ms
Every day8 days
dategrit commitgitgritgrit vs gitgrit peak
2026-10-278dbc58e7716 ms11 ms1.5× faster25 MB
2026-10-26c7cf2c44320 ms19 mspar23 MB
2026-10-252824ad39118 ms13 ms1.4× faster23 MB
2026-10-24157a05dde18 ms15 ms1.2× faster23 MB
2026-10-23bddf92f8618 ms17 mspar22 MB
2026-10-224c131b94218 ms18 mspar21 MB
2026-10-21d4844e92a17 ms18 mspar20 MB
2026-10-204754ad0b919 ms405 ms21× slower22 MB