Branch --merged ref query vs git for-each-ref on many-refs
repo: 10,000 packed refs · 200 files · 1,000 commits · 10,000 refs
| tool | median | min | max | runs | peak memory |
|---|---|---|---|---|---|
| git | 0.8 ms | 0.5 ms | 0.9 ms | 20 | 6.0 MB |
| grit | 1.9 ms | 1.5 ms | 2.1 ms | 20 | 11 MB |
$ git for-each-ref refs/heads/ --merged=b2c0606217709fa3f65c3d522c290687721998c7 --format=%(refname)
$ grit-bench refs-driver ref-query /tmp/grit-bench-scratch/daily-bounded-branch-contains/worktree-run-many-refs --namespace heads --merged b2c0606217709fa3f65c3d522c290687721998c7
GIT_TRACE2_PERF for git, GRIT_TRACE for grit).| date | grit commit | git | grit | grit vs git | grit peak |
|---|---|---|---|---|---|
| 2026-10-27 | 8dbc58e77 | 0.8 ms | 1.9 ms | 2.5× slower | 11 MB |
| 2026-10-26 | c7cf2c443 | 1.3 ms | 2.9 ms | 2.2× slower | 11 MB |
| 2026-10-25 | 2824ad391 | 0.8 ms | 1.9 ms | 2.5× slower | 10 MB |
| 2026-10-24 | 157a05dde | 1.1 ms | 2.2 ms | 1.9× slower | 11 MB |
| 2026-10-23 | bddf92f86 | 1.1 ms | 2.3 ms | 2.0× slower | 10 MB |
| 2026-10-22 | 4c131b942 | — | not run | — | — |
| 2026-10-21 | d4844e92a | — | not run | — | — |
| 2026-10-20 | 4754ad0b9 | — | not run | — | — |