Re: "git-send-pack"
From: "H. Peter Anvin" <hpa@zytor.com>
Date: 2016-06-15 22:42:01
Linus Torvalds wrote:
On Thu, 30 Jun 2005, H. Peter Anvin wrote:quoted
For producing minimum network traffic, I think something like this would work:In the "minimum traffic", the thing to look at is number of packets, and penalize further for anything that requires a synchronous reply. That's why I'd suggest just letting the client stream out the list of objects it has - it may appear wasteful to stream out even a thousand SHA1's, but hey, that's just 20kB worth of data, and especially if there is no synchronous stuff, that's just 15 ethernet packets.
In your linux-2.6 tree, there are currently 54,204 objects, and that is after less than one full 2.6.x kernel release cycle. That's a megabyte of SHA1s. In /pub/scm on kernel.org, there are currently 1,815,573 objects or hard links to objects, which would take a 36.3 MB list to produce. Although this is better than what rsync does, which is it encodes this list into ASCII with pathnames and all and it ends up being closer to 200 MB, it isn't fundamentally different. -hpa