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

grit worktree · add @synth-10k

Add linked worktree vs git worktree add

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 worktree/add@synth-10k2026-10-27 · grit 8dbc58e77 · git version 2.43.0
toolmedianminmaxrunspeak memory
git139 ms131 ms148 ms1116 MB
grit152 ms141 ms169 ms1126 MB
grit is 1.1× slowermemory: 1.7× more
every timed run (log scale)
git
grit
104 ms212 ms
How it's measured
before each run
set -eu 'grit-bench' prepare-daily-reset --git git cd /tmp/grit-bench-scratch/daily-synth-10k/worktree-run-synth-10k && git worktree remove --force /tmp/grit-bench-scratch/daily-synth-10k/daily-linked-wt 2>/dev/null || true rm -rf /tmp/grit-bench-scratch/daily-synth-10k/daily-linked-wt
git runs
$ git worktree add /tmp/grit-bench-scratch/daily-synth-10k/daily-linked-wt HEAD
grit runs
$ grit worktree add /tmp/grit-bench-scratch/daily-synth-10k/daily-linked-wt HEAD
Where the time goesone extra traced run per tool, outside the timed runs
git · median run 139 ms
run: git reset
138 ms
unpack_trees: unpack_trees
131 ms
progress: Updating
128 ms
unpack_trees: traverse_trees
3.8 ms
index: do_write_index
2.6 ms
cache-tree: prime_cache_tree
2.0 ms
run: git update-ref
1.7 ms
cache_tree: write
0.0 ms
index: do_read_index
0.0 ms
progress: Filtering
0.0 ms
grit · median run 152 ms
grit.index.write
1.4 ms
grit.repository.open ×2
0.4 ms
grit.config.load ×4
0.2 ms
grit.index.read
0.1 ms
grit.pack.index.open ×2
0.0 ms
Every day8 days
dategrit commitgitgritgrit vs gitgrit peak
2026-10-278dbc58e77139 ms152 ms1.1× slower26 MB
2026-10-26c7cf2c443336 ms329 mspar31 MB
2026-10-252824ad391143 ms204 ms1.4× slower24 MB
2026-10-24157a05dde139 ms144 mspar26 MB
2026-10-23bddf92f86126 ms142 ms1.1× slower38 MB
2026-10-224c131b942127 ms144 ms1.1× slower38 MB
2026-10-21d4844e92a—fail——
2026-10-204754ad0b9131 ms0.0 ms——