Re: Cloning speed comparison, round II
From: Linus Torvalds <torvalds@osdl.org>
Date: 2016-06-15 22:42:11
On Sat, 12 Nov 2005, Petr Baudis wrote:
rsync git+ssh(*) git(**) http
git.git 0m45s 0m34s 5m30s 4m01s (++)
cogito.git 2m09s 1m54s (+) 4m30s 15m11s (only single run)
(*) git+ssh was to master.kernel.org, which was under significant load
from some seemingly runaway gzip process, so that slowed things
down.
(**) The unpacking was slooooooooow yet the load was quite low. This
should be investigated, the native git fetching is much slower
than even HTTP.git:// and git+ssh:// should be the exact same protocol, the main difference in this case being the server they go to. In the case of (**), the unpacking itself is fast, but it's done as the stream of data comes in, so it will appear slow if the server at the other end is slow (or the network to that server is slow). So I think the difference between your git+ssh and git tests are purely due to the fact that master.kernel.org sees a lot less load (both in CPU and in networking) than the public sites, and the time differences have nothing to do with the protocol per se. I suspect master.kernel.org also has a beefier machine with more memory (but even if that's not the case, it's simply true that the public machines obviously do mirroring to a lot of other machines, and run things like webgit and just basic serving too). If anything, git:// as a protocol is theoretically a bit faster, since the login procedure is faster and there's no encryption overhead. Linus