grit://cooking/bench/pick/one@synth-100k
← cookingall benchmarksraw data

grit pick · one @synth-100k

Cherry-pick one commit on 100k-file synthetic vs git cherry-pick

repo: 100,000-file synthetic repository; canonical cached shape · 100,000 files · 1,000 commits · 1,200 refs

$ grit-bench daily --only pick/one@synth-100k2026-10-27 · grit 8dbc58e77 · git version 2.43.0
toolmedianminmaxrunspeak memory
git192 ms186 ms196 ms1037 MB
grit139 ms134 ms141 ms1047 MB
grit is 1.4× fastermemory: 1.3× more
every timed run (log scale)
git
grit
106 ms246 ms
How it's measured
before each run
grit-bench prepare-pick --git git
git runs
$ git cherry-pick --no-edit f788d22bd7adaf547ea076089208f55d667d653b
grit runs
$ grit pick f788d22bd7adaf547ea076089208f55d667d653b
Where the time goesone extra traced run per tool, outside the timed runs
git · median run 192 ms
unpack_trees: unpack_trees ×2
90 ms
merge: checkout
89 ms
index: preload
24 ms
index: do_write_index
21 ms
unpack_trees: traverse_trees ×2
17 ms
index: do_read_index ×2
11 ms
index: refresh
7.5 ms
cache_tree: update
2.1 ms
merge: incore_nonrecursive
1.0 ms
merge: process_entries ×3
0.6 ms
merge: collect_merge_info
0.5 ms
cache_tree: read ×2
0.3 ms
merge: traverse_trees
0.2 ms
cache_tree: write
0.1 ms
merge: plist ×3
0.1 ms
merge: write_auto_merge
0.0 ms
diff: write
0.0 ms
diff: setup
0.0 ms
merge: processing
0.0 ms
merge: merge_start
0.0 ms
grit · median run 139 ms
grit.index.write
18 ms
grit.index.read
7.9 ms
grit.diff.tree ×5
1.7 ms
grit.repository.open ×2
0.3 ms
grit.config.load ×4
0.1 ms
grit.pack.index.open
0.0 ms
Every day8 days
dategrit commitgitgritgrit vs gitgrit peak
2026-10-278dbc58e77192 ms139 ms1.4× faster47 MB
2026-10-26c7cf2c443325 ms285 ms1.1× faster61 MB
2026-10-252824ad391205 ms190 ms1.1× faster48 MB
2026-10-24157a05dde200 ms154 ms1.3× faster48 MB
2026-10-23bddf92f86196 ms239 ms1.2× slower63 MB
2026-10-224c131b942198 ms187 ms1.1× faster59 MB
2026-10-21d4844e92a186 ms1.71 s9.2× slower67 MB
2026-10-204754ad0b9204 ms1.84 s9.0× slower66 MB