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

Re: q: git-fetch a tad slow?

From
IMIngo Molnar <mingo@elte.hu>
Date
Jul 31, 2008, 21:11 UTC
Message-ID
<20080731211141.GA1159@elte.hu>
In-Reply-To
<20080731210307.GF25138@elte.hu>
* Ingo Molnar <mingo@elte.hu> wrote:
Show 10 quoted lines
> > for strictly local fetch.  If your SSH overhead is ~300 ms this is 
> > only a ~700 ms real time for `git fetch origin`, not 5100 ms.
> > 
> > Is your git-fetch a shell script?  Or a compiled binary?  The port 
> > into C made it go _much_ faster, even though it is still a naive 
> > O(N^2) matching algorithm.  Yea, we still should fix that, but I 
> > think an upgrade to 1.5.4 or later would make the client side 
> > improve consideribly.
> 
> ah, it is a shell script indeed! I'll upgrade to latest.
on another box, with 1.5.4, i have:
 dione:~/tip> time git fetch origin
 real    0m0.481s
 user    0m0.136s
 sys     0m0.060s
 dione:~/tip> time ./tip-fetch
 b714d1a257cca93ba6422ca3276ac80a2cde2b59
 b714d1a257cca93ba6422ca3276ac80a2cde2b59
 real    0m0.273s
 user    0m0.012s
 sys     0m0.020s

that's a 2.66 GHz core2 quad, i.e. a pretty fast box too. As you can see most time spent in the tip-fetch case was waiting for the network. So there's about 200 msecs of extra CPU cost on the local side. On a CPU 1-2 generations older that could be up to 1000 msecs or more.

In any case, performance has improved significantly with the C version! (I'll still use tip-fetch to squeeze out the last bit of performance, but it's quite comparable now.)

Sorry that i didnt notice that titan had 1.5.2 - i almost never notice it when i switch between stable git versions. (you guys are doing a really good job on compatibility)

	Ingo
Previous: Ingo MolnarNext: Shawn O. Pearce
Message 9 of 10 in “q: git-fetch a tad slow?”
  1. Ingo MolnarJul 28, 2008
  2. Shawn O. PearceJul 29, 2008
  3. Ingo MolnarJul 29, 2008
  4. Shawn O. PearceJul 30, 2008
  5. Ingo MolnarJul 30, 2008
  6. Shawn O. PearceJul 30, 2008
  7. Shawn O. PearceJul 31, 2008
  8. Ingo MolnarJul 31, 2008
  9. Ingo MolnarJul 31, 2008
  10. Shawn O. PearceJul 31, 2008

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.