grit://cooking/bench/add/hunks@large-file
← cookingall benchmarksraw data

grit add · hunks @large-file

Stage half of 500 hunks in a 50k-line file: grit add --hunks vs git diff (same path) + first-half hunk select + git apply --cached

repo: synth-10k extended by one committed 50k-line large.txt, modified into 500 hunks; file/commit counts derived from recounted base plus that setup step · 10,001 files · 1,001 commits · 800 refs

$ grit-bench daily --only add/hunks@large-file2026-10-27 · grit 8dbc58e77 · git version 2.43.0
toolmedianminmaxrunspeak memory
git12 ms12 ms27 ms2010 MB
grit22 ms21 ms43 ms2027 MB
grit is 1.8× slowermemory: 2.7× more
every timed run (log scale)
git
grit
9.3 ms55 ms
How it's measured
before each run
grit-bench prepare-worktree-add-hunks --git git
git runs
$ git apply --cached /tmp/grit-bench-scratch/daily-synth-10k/hunks-half.patch
grit runs
$ H=$(cat '/tmp/grit-bench-scratch/daily-synth-10k/hunks-half.ids') && grit add --hunks "$H" -- large.txt
Where the time goesone extra traced run per tool, outside the timed runs
git · median run 12 ms
index: do_write_index
2.2 ms
index: do_read_index
0.5 ms
cache_tree: read
0.0 ms
cache_tree: write
0.0 ms
grit · median run 22 ms
grit.index.read ×4
3.0 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 ms22 ms1.8× slower27 MB
2026-10-26c7cf2c443—fail——
2026-10-252824ad391—fail——
2026-10-24157a05dde—fail——
2026-10-23bddf92f86—fail——
2026-10-224c131b942—not run——
2026-10-21d4844e92a—not run——
2026-10-204754ad0b9—not run——