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
| tool | median | min | max | runs | peak memory |
|---|---|---|---|---|---|
| git | 42 ms | 9.8 ms | 52 ms | 80 | 14 MB |
| grit | 13 ms | 12 ms | 14 ms | 80 | 18 MB |
$ 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
$ set -eu; grit rebase HEAD~1000 >/dev/null
| date | grit commit | git | grit | grit vs git | grit peak |
|---|---|---|---|---|---|
| 2026-10-27 | 8dbc58e77 | 42 ms | 13 ms | 3.3× faster | 18 MB |
| 2026-10-26 | c7cf2c443 | 100 ms | 19 ms | 5.1× faster | 20 MB |
| 2026-10-25 | 2824ad391 | 54 ms | 16 ms | 3.4× faster | 18 MB |
| 2026-10-24 | 157a05dde | 53 ms | 17 ms | 3.2× faster | 22 MB |
| 2026-10-23 | bddf92f86 | 50 ms | 42 ms | 1.2× faster | 45 MB |
| 2026-10-22 | 4c131b942 | — | not run | — | — |
| 2026-10-21 | d4844e92a | — | not run | — | — |
| 2026-10-20 | 4754ad0b9 | — | not run | — | — |