grit://cooking/bench/clone/shallow-depth1@synth-10k
← cookingall benchmarksraw data

grit clone · shallow-depth1 @synth-10k

Shallow clone over smart HTTP: grit clone --shallow vs git clone --depth 1

repo: 10,000-file synthetic repository; canonical cached shape, scenario variants documented by the runner · 10,000 files · 1,000 commits · 800 refs

$ grit-bench daily --only clone/shallow-depth1@synth-10k2026-10-27 · grit 8dbc58e77 · git version 2.43.0
toolmedianminmaxrunspeak memory
git186 ms183 ms203 ms831 MB
grit186 ms183 ms203 ms830 MB
grit is parmemory: same
every timed run (log scale)
git
grit
145 ms256 ms
How it's measured
setup
remote http://127.0.0.1:36883/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-synth-10k-clone/remote.git
git runs
$ rm -rf /tmp/grit-bench-scratch/daily-remote-synth-10k-clone/remote.git-campaign-clone && cd /tmp/grit-bench-scratch/daily-remote-synth-10k-clone && git clone --depth 1 -q http://127.0.0.1:36883/remote.git remote.git-campaign-clone
grit runs
$ rm -rf /tmp/grit-bench-scratch/daily-remote-synth-10k-clone/remote.git-campaign-clone && cd /tmp/grit-bench-scratch/daily-remote-synth-10k-clone && grit clone --shallow http://127.0.0.1:36883/remote.git remote.git-campaign-clone
checked first
before timing, git and grit were each run once and their results compared; the result is verified after every timed run
Where the time goesone extra traced run per tool, outside the timed runs
git · median run 186 ms
unpack_trees: unpack_trees
119 ms
run: git remote-http
63 ms
run: git-remote-http
62 ms
run: git fetch-pack
48 ms
run: git /tmp/grit-bench-scratch/daily-remote-synth-10k-clone/remote.git-campaign-clone/.git/shallow.lock
24 ms
run: git rev-list
4.7 ms
unpack_trees: traverse_trees
3.3 ms
cache_tree: update
2.3 ms
index: do_write_index
2.2 ms
fetch-pack: mark_common_remote_refs
0.6 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 186 ms
grit.pack.index
9.7 ms
grit.pack.delta.resolve
8.0 ms
grit.index.write
1.4 ms
grit.index.read ×2
0.7 ms
grit.repository.open ×3
0.3 ms
grit.config.load ×6
0.3 ms
grit.pack.index.open ×2
0.0 ms
Every day8 days
dategrit commitgitgritgrit vs gitgrit peak
2026-10-278dbc58e77186 ms186 mspar30 MB
2026-10-26c7cf2c443411 ms390 ms1.1× faster27 MB
2026-10-252824ad391216 ms279 ms1.3× slower26 MB
2026-10-24157a05dde190 ms220 ms1.2× slower27 MB
2026-10-23bddf92f86—not run——
2026-10-224c131b942—not run——
2026-10-21d4844e92a—not run——
2026-10-204754ad0b9—not run——