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

Re: Multi-threaded 'git clone'

From
DLDavid Lang <david@lang.hm>
Date
Feb 16, 2015, 15:31 UTC
Message-ID
<alpine.DEB.2.02.1502160727480.23770@nftneq.ynat.uz>
In-Reply-To
<20150216150305.GA8279@peff.net>
On Mon, 16 Feb 2015, Jeff King wrote:
Show 11 quoted lines
> On Mon, Feb 16, 2015 at 05:31:13AM -0800, David Lang wrote:
>
>> I think it's an interesting question to look at, but before you start
>> looking at changing the architecture of the current code, I would suggest
>> doing a bit more analisys of the problem to see if the bottleneck is really
>> where you think it is.
>>
>> First measure, then optimize :-)
>
> Yes, very much so. Fortunately some people have already done some of
> this work. :)
nice summary
> Then the server streams the data to the client. It might do some light
> work transforming the data as it comes off the disk, but most of it is
> just blitted straight from disk, and the network is the bottleneck.

Depending on how close to full the WAN link is, it may be possible to improve this with multiple connections (again, referencing bbcp), but there's also the question of if it's worth trying to use the entire WAN for a single user. The vast majority of the time the server is doing more than one thing and would rather let any individual user wait a bit and service the other users.

David Lang
Previous: Jeff KingNext: Jeff King
Message 4 of 9 in “Multi-threaded 'git clone'”
  1. Koosha KhajehmoogahiFeb 16, 2015
  2. David LangFeb 16, 2015
  3. Jeff KingFeb 16, 2015
  4. David LangFeb 16, 2015
  5. Jeff KingFeb 16, 2015
  6. Junio C HamanoFeb 16, 2015
  7. Shawn PearceFeb 17, 2015
  8. Duy NguyenFeb 16, 2015
  9. Jeff KingFeb 17, 2015

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.