grit://cooking/bench/rebase/onto@git-git
← cookingall benchmarksraw data

grit rebase · onto @git-git

Rebase onto HEAD~10 vs git rebase on pinned git.git (conflict-free replay)

repo: Upstream git/git pinned at v2.47.0, full history · 4,525 files · 75,031 commits · 954 refs

$ grit-bench daily --only rebase/onto@git-git2026-10-27 · grit 8dbc58e77 · git version 2.43.0
toolmedianminmaxrunspeak memory
git561 ms344 ms598 ms666 MB
grit6.7 ms6.3 ms6.9 ms625 MB
grit is 83× fastermemory: 2.6× less
every timed run (log scale)
git
grit
5.0 ms753 ms
How it's measured
before each run
set -eu cd /tmp/grit-bench-scratch/daily-git-git-wt/worktree-run-git-git-wt && (git rebase --abort 2>/dev/null || true) set -eu 'grit-bench' prepare-daily-reset --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~10 >/dev/null
grit runs
$ set -eu; grit rebase HEAD~10 >/dev/null
Where the time goesone extra traced run per tool, outside the timed runs
git · median run 561 ms
index: do_write_index ×28
286 ms
unpack_trees: unpack_trees ×51
109 ms
merge: checkout ×24
51 ms
unpack_trees: traverse_trees ×51
36 ms
index: refresh ×3
17 ms
merge: incore_nonrecursive ×24
14 ms
merge: process_entries ×72
12 ms
cache_tree: update ×24
8.8 ms
index: do_read_index ×26
4.3 ms
merge: collect_merge_info ×24
4.3 ms
merge: traverse_trees ×24
3.2 ms
index: preload ×3
2.9 ms
merge: plist ×72
2.2 ms
run: git notes
2.2 ms
merge: processing ×24
1.6 ms
cache_tree: write ×28
1.1 ms
cache_tree: read ×26
1.0 ms
cache-tree: prime_cache_tree
0.9 ms
merge: write_auto_merge ×24
0.6 ms
merge: merge_start ×24
0.3 ms
grit · median run 6.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-278dbc58e77561 ms6.7 ms83× faster25 MB
2026-10-26c7cf2c443802 ms8.5 ms95× faster24 MB
2026-10-252824ad391622 ms7.7 ms81× faster25 MB
2026-10-24157a05dde593 ms8.2 ms72× faster25 MB
2026-10-23bddf92f86530 ms714 ms1.3× slower119 MB
2026-10-224c131b942—not run——
2026-10-21d4844e92a—not run——
2026-10-204754ad0b9—not run——