git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [QUESTION] Performance comparison: full clone + sparse-checkout vs partial clone + sparse-checkout
@ 2024-10-28 10:30 Manoraj K
  2024-11-07  4:52 ` Manoraj K
  0 siblings, 1 reply; 4+ messages in thread
From: Manoraj K @ 2024-10-28 10:30 UTC (permalink / raw)
  To: git; +Cc: stolee, Shubham Kanodia, Ajith Kuttickattu Sakharia

Hi,

We've conducted benchmarks comparing Git operations between a fully
cloned and partially cloned repository (both using sparse-checkout).
We'd like to understand the technical reasons behind the consistent
performance gains we're seeing in the partial clone setup.

Benchmark Results:

Full Clone + Sparse-checkout:
- .git size: 8.5G
- Git index size: 20MB
- Pack objects: 18,761,646
- Operations (mean ± std dev):
  * git status: 0.634s ± 0.004s
  * git commit: 2.677s ± 0.019s
  * git checkout branch: 0.615s ± 0.005s
  * git pull (no changes): 5.983s ± 0.391s

Partial Clone + Sparse-checkout:
- .git size: 2.0G
- Git index size: 20MB
- Pack objects: 13,560,436
- Operations (mean ± std dev):
  * git status: 0.575s ± 0.012s (9.3% faster)
  * git commit: 2.164s ± 0.032s (19.2% faster)
  * git checkout branch: 0.724s ± 0.154s
  * git pull (no changes): 1.866s ± 0.018s (68.8% faster)

Key Questions:
1. What are the technical factors causing these performance
improvements in the partial clone setup?
2. To be able to get these benefits, is there a way to convert our
existing fully cloned repository to behave like a partial clone
without re-cloning from scratch?

Appreciate any insights here.

Best regards,
Manoraj K

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2024-12-06  3:18 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-28 10:30 [QUESTION] Performance comparison: full clone + sparse-checkout vs partial clone + sparse-checkout Manoraj K
2024-11-07  4:52 ` Manoraj K
2024-11-08 17:24   ` Elijah Newren
2024-12-06  3:18     ` Manoraj K

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).