grit://cooking/bench/rebase/onto@synth-10k
← cookingall benchmarksraw data

grit rebase · onto @synth-10k

Rebase onto upstream vs git rebase on synth-10k history fixture

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 rebase/onto@synth-10k2026-10-27 · grit 8dbc58e77 · git version 2.43.0
toolmedianminmaxrunspeak memory
git42 ms9.8 ms52 ms8014 MB
grit13 ms12 ms14 ms8018 MB
grit is 3.3× fastermemory: 1.3× more
every timed run (log scale)
git
grit
7.8 ms65 ms
How it's measured
before each run
grit-bench prepare-history-rewrite --git git
git runs
$ set -eu; GIT_CONFIG_NOSYSTEM=1 GIT_CONFIG_GLOBAL='/tmp/grit-bench-global-config' GIT_CONFIG_SYSTEM=/dev/null GIT_AUTHOR_NAME=Bench GIT_AUTHOR_EMAIL=b@example.com GIT_COMMITTER_NAME=Bench GIT_COMMITTER_EMAIL=b@example.com GIT_COMMITTER_DATE='1700000100 +0000' git rebase HEAD~1000 >/dev/null
grit runs
$ set -eu; grit rebase HEAD~1000 >/dev/null
Where the time goesone extra traced run per tool, outside the timed runs
git · median run 42 ms
index: refresh
31 ms
index: preload
3.3 ms
index: do_write_index
2.3 ms
run: git maintenance
1.6 ms
index: do_read_index
0.7 ms
unpack_trees: unpack_trees
0.1 ms
cache_tree: read
0.0 ms
cache_tree: write
0.0 ms
unpack_trees: traverse_trees
0.0 ms
grit · median run 13 ms
grit.repository.open ×2
0.4 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-278dbc58e7742 ms13 ms3.3× faster18 MB
2026-10-26c7cf2c443100 ms19 ms5.1× faster20 MB
2026-10-252824ad39154 ms16 ms3.4× faster18 MB
2026-10-24157a05dde53 ms17 ms3.2× faster22 MB
2026-10-23bddf92f8650 ms42 ms1.2× faster45 MB
2026-10-224c131b942—not run——
2026-10-21d4844e92a—not run——
2026-10-204754ad0b9—not run——