[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Official Git mirror?

From: Eli Zaretskii
Subject: Re: Official Git mirror?
Date: Mon, 21 Feb 2011 02:58:15 -0500

> From: Óscar Fuentes <address@hidden>
> Date: Mon, 21 Feb 2011 06:36:48 +0100
> Eli Zaretskii <address@hidden> writes:
> >> From: "Oleksandr Gavenko (aka gavenkoa)" <address@hidden>
> >> Date: Sun, 20 Feb 2011 23:11:16 +0200
> >> 
> >> As Bzr have network inefficient protocol I search for Git mirror.
> >
> > Bzr is no less efficient than Git.  If the initial checkout is slow,
> > try one of these two, for the first "bzr branch" command only:
> >
> >   bzr branch nosmart+bzr://
> >
> >   bzr branch lp:emacs
> address@hidden:~/dev/ff$ time bzr branch lp:emacs
> Branched 103368 revision(s).                                                  
> real    17m41.424s
> user    7m56.250s
> sys     0m8.240s
> address@hidden:~/dev/ff/git-emacs$ time git clone git:// 
> git-emacs
> Initialized empty Git repository in 
> /home/oscar/dev/ff/git-emacs/git-emacs/.git/
> remote: Counting objects: 597983, done.
> remote: Compressing objects: 100% (122520/122520), done.
> remote: Total 597983 (delta 474994), reused 597778 (delta 474826)
> Receiving objects: 100% (597983/597983), 521.43 MiB | 1.00 MiB/s, done.
> Resolving deltas: 100% (474994/474994), done.
> real    11m42.616s
> user    2m36.630s
> sys     0m14.820s

I don't think 11 min are significantly better than 17.  Seems like a
good price to pay for being always in sync with the repository.  And
this is just the initial checkout, the differences get even smaller
for routine day-to-day operation.

Yours is just one example, I get almost the same times, and sometimes
slightly faster times for bzr than for git.  Here's one example where
I got the same times:

  real    0m14.437s
  user    0m2.516s
  sys     0m0.308s

  real    13m59.655s
  user    7m55.702s
  sys     0m18.321s

Btw, what is your bzr version?  You could get faster downloads with
the latest versions (2.2+).

> Please note that git downloads all 51 branches that exists or existed on
> Savannah while bzr gets just `trunk'.

Most people don't need the other branches, so it's just ballast.

> Git keeps the pipe downloading data at full speed all the time, while
> bzr fluctuates a lot, including several long pauses, possibly because
> the server is doing some CPU-intensive work for preparing the data.

The nosmart+ option prevents the server from wasting CPU cycles when
everything is needed to be downloaded anyway.

> Maybe the differences are not big enough to notice by most people that
> update their Emacs mirrors from time to time, but it is not accurate to
> say that bzr's network protocol is no less efficient than git.

I did testing on several machines, and the average is almost the same,
in terms of elapsed time.  On some machines, git is slightly faster,
on others it's the other way around.

And I doubt that many people care about the trade-off between CPU,
file I/O, and network I/O.  The OP was talking about the network
protocol, but I'm quite sure he actually cares about the elapsed time
of the initial download.

Bottom line: I'd advise using bzr, because the advantages of using the
same tool as the Emacs developers (same revision IDs etc.) outweigh
the disadvantages of a slightly slower operation, even on GNU/Linux.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]