From: Petr Baudis Date: Sun, 15 May 2005 12:40:42 GMT Subject: Re: Mercurial 0.4e vs git network pull Message-ID: <20050515124042.GE13024@pasky.ji.cz> In-Reply-To: <200505151122.j4FBMJa01073@adam.yggdrasil.com> Dear diary, on Sun, May 15, 2005 at 01:22:19PM CEST, I got a letter where "Adam J. Richter" told me that... > On Sun, 15 May 2005 10:54:05 +0200, Petr Baudis wrote: > >Dear diary, on Thu, May 12, 2005 at 10:57:35PM CEST, I got a letter > >where Matt Mackall told me that... > >> Does this need an HTTP request (and round trip) per object? It appears > >> to. That's 2200 requests/round trips for my 800 patch benchmark. > > >Yes it does. On the other side, it needs no server-side CGI. But I guess > >it should be pretty easy to write some kind of server-side CGI streamer, > >and it would then easily take just a single HTTP request (telling the > >server the commit ID and receiving back all the objects). > > I don't understand what was wrong with Jeff Garzik's previous > suggestion of using http/1.1 pipelining to coalesce the round trips. > If you're worried about queuing too many http/1.1 requests, the client > could adopt a policy of not having more than a certain number of > requests outstanding or perhaps even making a new http connection > after a certain number of requests to avoid starving other clients > when the number of clients doing one of these transfers exceeds the > number of threads that the http server uses. The problem is that to fetch a revision tree, you have to send request for commit A receive commit A look at commit A for list of its parents send request for the parents receive the parents look inside for list of its parents ... (and same for the trees). > Being able to do without a server side CGI script might > encourage deployment a bit more, both for security reasons and > effort of deployment. You could still use it without the server side CGI script as it is now, just without the speedups. -- Petr "Pasky" Baudis Stuff: http://pasky.or.cz/ C++: an octopus made by nailing extra legs onto a dog. -- Steve Taylor