Mercurial 0.4e vs git network pull
Matt Mackall
mpm at selenic.com
Thu May 12 20:57:35 UTC 2005
On Thu, May 12, 2005 at 10:14:06PM +0200, Petr Baudis wrote:
> Dear diary, on Thu, May 12, 2005 at 10:11:16PM CEST, I got a letter
> where Matt Mackall <mpm at selenic.com> told me that...
> > On Thu, May 12, 2005 at 08:23:41PM +0200, Petr Baudis wrote:
> > > Dear diary, on Thu, May 12, 2005 at 11:44:06AM CEST, I got a letter
> > > where Matt Mackall <mpm at selenic.com> told me that...
> > > > Mercurial is more than 10 times as bandwidth efficient and
> > > > considerably more I/O efficient. On the server side, rsync uses about
> > > > twice as much CPU time as the Mercurial server and has about 10 times
> > > > the I/O and pagecache footprint as well.
> > > >
> > > > Mercurial is also much smarter than rsync at determining what
> > > > outstanding changesets exist. Here's an empty pull as a demonstration:
> > > >
> > > > $ time hg merge hg://selenic.com/linux-hg/
> > > > retrieving changegroup
> > > >
> > > > real 0m0.363s
> > > > user 0m0.083s
> > > > sys 0m0.007s
> > > >
> > > > That's a single http request and a one line response.
> > >
> > > So, what about comparing it with something comparable, say git pull over
> > > HTTP? :-)
> >
> > ..because I get a headache every time I try to figure out how to use git? :-P
> >
> > Seriously, have a pointer to how this works?
>
> Either you use cogito and just pass cg-clone an HTTP URL (to the git
> repository as in the case of rsync -
> http://www.kernel.org/pub/scm/cogito/cogito.git should work), or you
> invoke git-http-pull directly (passing it desired commit ID of the
> remote HEAD you want to fetch, and the URL; see
> Documentation/git-http-pull.txt).
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.
How does git find the outstanding changesets?
--
Mathematics is the supreme nostalgia of our time.
More information about the Mercurial
mailing list