git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Wine + GIT

From
Andreas Ericsson <ae@op5.se>
Date
Dec 6, 2005, 23:27 UTC
Message-ID
<43961E7B.3000607@op5.se>
In-Reply-To
<20051206230844.GA3876@reactrix.com>
Nick Hengeveld wrote:
Show 10 quoted lines
> On Mon, Dec 05, 2005 at 09:18:54PM -0500, Jeff Garzik wrote:
> 
> 
>>One other comment:  http:// is the slowest of all three transports. 
>>git:// (git daemon) is preferred, followed by rsync.
>>
>>http:// takes forever, comparatively.
> 
> 
> Has that been the general git user experience?
It certainly is for me, and I know most of my colleagues think so too.
Show 7 quoted lines
>  While there are
> certainly disadvantages to the http transport, I didn't think that
> performance was one of them.
> 
> For comparison, I ran some clones this morning/afternoon with the
> following results:
> 

When you clone you need to get all the objects. If the objects aren't packed on the remote end (which is usually the case), the git protocol will pack them for you which takes quite some time for a large repo and puts the server under considerable stress.

When you pull incrementally the native git protocol does some figuring out of the minimum set of packs it needs to send you.

Show 18 quoted lines
> 
> Clone of kernel.org/pub/scm/git/git.git
> 
> http
> real    0m24.204s       real    0m25.750s       real    0m24.094s
> user    0m5.870s        user    0m5.530s        user    0m5.350s
> sys     0m0.660s        sys     0m0.710s        sys     0m0.600s
> 
> rsync
> real    1m3.952s        real    1m3.417s        real    1m4.360s
> user    0m0.090s        user    0m0.130s        user    0m0.120s
> sys     0m0.210s        sys     0m0.230s        sys     0m0.210s
> 
> git
> real    0m54.715s       real    0m55.928s       real    0m56.411s
> user    0m0.980s        user    0m0.980s        user    0m1.040s
> sys     0m0.220s        sys     0m0.140s        sys     0m0.160s
> 

In general, rsync:// should be the fastest protocol to clone over. Why you got the numbers listed above I have no idea, but I'm guessing the rsync daemon was under quite a bit of stress. http could in that case be faster since apache handles multiple clients better than rsync, but only if you're on a very fast line with low round trip time to the server as it needs to do a lot of downloading and checking to see where it's at and what it needs.

You may also want to take notice of the fact that the git-daemon can use cached pack-files, in which case it doesn't have to do so much manual packing. If cache-files are present, the git protocol *should* be the fastest to clone over as well.

-- 
Andreas Ericsson                   andreas.ericsson@op5.se
OP5 AB                             www.op5.se
Tel: +46 8-230225                  Fax: +46 8-230231
Previous: Nick HengeveldNext: Marco Costalba
Message 14 of 15 in “Wine + GIT”
  1. Mike McCormackDec 5, 2005
  2. Jeff GarzikDec 6, 2005
  3. Junio C HamanoDec 6, 2005
  4. J. Bruce FieldsDec 6, 2005
  5. Junio C HamanoDec 6, 2005
  6. J. Bruce FieldsDec 6, 2005
  7. Jon LoeligerDec 6, 2005
  8. git shorthands (was: Re: Wine + GIT)Andreas Ericsson, Dec 6, 2005
  9. Ben CliffordDec 7, 2005
  10. Jeff GarzikDec 6, 2005
  11. Mike McCormackDec 6, 2005
  12. Jeff GarzikDec 6, 2005
  13. Nick HengeveldDec 6, 2005
  14. Andreas EricssonDec 6, 2005
  15. Marco CostalbaDec 6, 2005

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.