grit://cooking/bench/clone/shallow@git-git
← cookingall benchmarksraw data

grit clone · shallow @git-git

Shallow clone (`--depth 1`) over smart HTTP vs git clone --depth 1

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

$ grit-bench daily --only clone/shallow@git-git2026-10-27 · grit 8dbc58e77 · git version 2.43.0
toolmedianminmaxrunspeak memory
git1.57 s1.56 s1.58 s538 MB
grit1.64 s1.63 s1.67 s553 MB
grit is parmemory: 1.4× more
every timed run (log scale)
git
grit
1.24 s2.11 s
How it's measured
setup
remote http://127.0.0.1:37953/remote.git served by git http-backend (git's own smart HTTP server)
before each run
grit-bench prepare-network-clone --git git --bare /tmp/grit-bench-scratch/daily-remote-git-git/remote.git
git runs
$ rm -rf /tmp/grit-bench-scratch/daily-remote-git-git/remote.git-campaign-clone && cd /tmp/grit-bench-scratch/daily-remote-git-git && git clone -q --depth 1 http://127.0.0.1:37953/remote.git remote.git-campaign-clone
grit runs
$ rm -rf /tmp/grit-bench-scratch/daily-remote-git-git/remote.git-campaign-clone && cd /tmp/grit-bench-scratch/daily-remote-git-git && grit clone --depth 1 http://127.0.0.1:37953/remote.git remote.git-campaign-clone
checked first
before timing, git and grit were each run once and their results compared
Where the time goesone extra traced run per tool, outside the timed runs
git · median run 1.57 s
run: git remote-http
1.33 s
run: git-remote-http
1.33 s
run: git fetch-pack
1.32 s
run: git /tmp/grit-bench-scratch/daily-remote-git-git/remote.git-campaign-clone/.git/shallow.lock
916 ms
unpack_trees: unpack_trees
210 ms
run: git rev-list
3.2 ms
unpack_trees: traverse_trees
2.6 ms
fetch-pack: mark_common_remote_refs
1.3 ms
cache_tree: update
1.2 ms
index: do_write_index
1.1 ms
fetch-pack: parse_remote_refs_and_find_cutoff
0.5 ms
cache_tree: write
0.0 ms
fetch-pack: negotiation_v0_v1
0.0 ms
fetch-pack: mark_complete_local_refs
0.0 ms
grit · median run 1.64 s
grit.checkout.write
93 ms
grit.pack.index
89 ms
grit.pack.delta.resolve
81 ms
grit.checkout.plan
8.9 ms
grit.index.write
0.7 ms
grit.index.read ×2
0.5 ms
grit.repository.open ×3
0.3 ms
grit.config.load ×6
0.3 ms
grit.pack.index.open ×3
0.0 ms
Every day8 days
dategrit commitgitgritgrit vs gitgrit peak
2026-10-278dbc58e771.57 s1.64 spar53 MB
2026-10-26c7cf2c443—fail——
2026-10-252824ad391—fail——
2026-10-24157a05dde—fail——
2026-10-23bddf92f86—fail——
2026-10-224c131b942—not run——
2026-10-21d4844e92a—not run——
2026-10-204754ad0b9—not run——