grit://cooking/bench/push/incremental-http@git-git
← cookingall benchmarksraw data

grit push · incremental-http @git-git

Incremental push over grit smart HTTP (git-git bare remote)

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

$ grit-bench daily --only push/incremental-http@git-git2026-10-27 · grit 8dbc58e77 · git version 2.43.0
toolmedianminmaxrunspeak memory
git1.61 s1.60 s1.62 s5318 MB
grit944 ms936 ms1.09 s586 MB
grit is 1.7× fastermemory: 3.7× less
every timed run (log scale)
git
grit
743 ms2.04 s
How it's measured
setup
remote http://127.0.0.1:40479/fixture.git served by grit-http-server
before each run
grit-bench prepare-network-push --git git --bare /tmp/grit-bench-scratch/daily-remote-git-git-http-push/remote.git
git runs
$ git push -q origin master
grit runs
$ grit push
checked first
before timing, git and grit were each run once and their results compared; the starting state is verified before every timed run; the result is verified after every timed run
Where the time goesone extra traced run per tool, outside the timed runs
git · median run 1.61 s
run: git remote-http
1.81 s
run: git-remote-http
1.81 s
push: transport_push
1.80 s
transport_pu: push_refs
1.20 s
run: git send-pack
1.20 s
run: git pack-objects
564 ms
pack-objects: enumerate-objects
556 ms
transport_pu: get_refs_list
2.4 ms
pack-objects: prepare-pack
1.9 ms
pack-objects: write-pack-file
0.7 ms
grit · median run 944 ms
grit.push
1.07 s
grit.repository.open ×3
0.6 ms
grit.config.load ×4
0.2 ms
grit.pack.index.open
0.0 ms
Every day8 days
dategrit commitgitgritgrit vs gitgrit peak
2026-10-278dbc58e771.61 s944 ms1.7× faster86 MB
2026-10-26c7cf2c44392 ms1.96 s21× slower91 MB
2026-10-252824ad3911.77 s1.04 s1.7× faster85 MB
2026-10-24157a05dde1.79 s1.21 s1.5× faster136 MB
2026-10-23bddf92f861.86 s5.74 s3.1× slower2040 MB
2026-10-224c131b942—fail——
2026-10-21d4844e92a—fail——
2026-10-204754ad0b9—fail——