Re: Mercurial v0.4d
- From
- Matt Mackall <mpm@selenic.com>
- Date
- May 5, 2005, 20:36 UTC
- Message-ID
- <20050505203658.GG22038@waste.org>
- In-Reply-To
- <427A6E3F.5090904@pobox.com>
On Thu, May 05, 2005 at 03:04:31PM -0400, Jeff Garzik wrote:
Show 6 quoted lines
> Matt Mackall wrote: > >The web protocol is painfully slow, mostly because it makes an http > >round trip per file revision to pull. I'm about to start working on a > >replacement that minimizes round trips. > > Can you make it do HTTP 1.1 pipelining?
Yes, a zsync-like protocol ought to be doable. But you'll still potentially be doing 16k requests to pull something the size of the kernel, which isn't very friendly to a web server. So I'm working on a stand-alone or possibly CGI-based replacement.
My goal is to do something like this:
client server
I last saw change N from you
W, X, Y, and Z are newer here
Send me X, Y, and Z relative to N
Here you go, deltas from N to X to
Y to Z, sorted by fileSo not only can we be efficient in number of round trips and data transferred, we can reduce seeks by applying all per-file changes together. We can also usually avoid decompress/recompress and patch/diff because both ends will end up storing the same delta.
-- Mathematics is the supreme nostalgia of our time.