Usage discussion from the GNU Emacs project.
Stephen J. Turnbull
stephen at xemacs.org
Thu Nov 26 02:24:15 GMT 2009
Jason Earl writes:
> Over the past year I have gotten a little bit tired of hearing about
> bzr's poor performance.
Heh. Just wait until people start really using it.
> This is especially true when I believe that git's supposed speed
> advantage is only imagined, and not actually measured. I've
> checked out the Emacs repository using git on a regular basis for
> the last year or so, and I did not remember this feat ever taking
> less than 20 minutes.
I'm curious about your hardware and network connection. I'm using a
MacBook Pro (Mac OS X 10.5.8, 2.4GHz Intel Core 2 Duo, 2GB 667MHz DDR2
SDRAM) connected via KDDI ADSL (aka Son of International Telephone and
Telegraph of Japan). The software is from MacPorts:
wideload:webdeveloper/development 10:10$ port installed git-core bzr
The following ports are currently installed:
bzr @2.0.1_0 (active)
git-core @1.6.5.3_0+doc (active)
git using the git protocol is (just) under 8 minutes from repo.or.cz
and under 8 minutes from Savannah. That's a long coffee break. bzr
using http is well over 28 minutes from Savannah, which is plenty for
a quick lunch. Full data at the end of the post.
The comparison git: vs http: would be unfair, except that it is not
clear when Savannah is going to get around to implementing either SSH
access or a smart server (or a repository browser, for that matter).
They do not seem to be excited about either. Worse, it is apparently
not something they can do on a project by project basis, so the more
bzr use they see, the more reluctant they will be to take all the
projects down to make the switchover. (Neither rms nor Stefan seems
to be willing to go to the mat on this, either, so it's entirely up to
the goodwill of savannah-hackers -- which according to the page posted
by Karl is present, but small.) But on the contrary, git's smart
server is already running and the repo browser is working.
Note that the head-to-head comparison is easy to make, and there are
plenty of git users who are going to notice because they'd rather use
git in the first place.
> The moral of the story is that if you are getting the entire history of
> the Emacs project it is going to take a while, and using git doesn't
> necessarily help.
Not for you, but it helps a lot for me.
> And if you think bzr's progress indicator is bad you should see what
> git's http progress indicator looks like.
Not relevant, because bzr's progress bar can clearly be improved (and
it wouldn't be hard. Here's what I think bzr's progress bar should
look like:
(\) [ 123MB | 100MB/s ] Please contribute an attractive progress bar!
or how about
(\) [ 123MB | 100MB/s ] Your ad here!!
;-) And the rate should be total bytes/total time, not instantaneous.
> And either way bzr is much better than cvs.
Again, the git fans on emacs-devel are *not* going to compare to CVS.
Telling them to do so is just going to convince them that Bazaar
doesn't want to respond to performance issues.
wideload:src/MacPorts 3:59$ time git clone git://repo.or.cz/emacs.git emacs-git-andreas
Initialized empty Git repository in /private/tmp/emacs-git-andreas/.git/
remote: Counting objects: 541701, done.
remote: Compressing objects: 100% (116559/116559), done.
remote: Total 541701 (delta 424789), reused 541457 (delta 424607)
Receiving objects: 100% (541701/541701), 199.90 MiB | 1.05 MiB/s, done.
Resolving deltas: 100% (424789/424789), done.
Checking out files: 100% (3101/3101), done.
git clone git://repo.or.cz/emacs.git emacs-git-andreas
224.59s user 39.82s system 55% cpu 7:55.33 total
wideload:src/MacPorts 10:14$ time git clone git://git.savannah.gnu.org/emacs.git emacs-git-savannah
Initialized empty Git repository in /private/tmp/emacs-git-savannah/.git/
remote: Counting objects: 544595, done.
remote: Compressing objects: 100% (116860/116860), done.
remote: Total 544595 (delta 427876), reused 543902 (delta 427366)
Receiving objects: 100% (544595/544595), 142.33 MiB | 684 KiB/s, done.
Resolving deltas: 100% (427876/427876), done.
Checking out files: 100% (3101/3101), done.
git clone git://git.savannah.gnu.org/emacs.git emacs-git-savannah
221.62s user 40.09s system 55% cpu 7:54.33 total
wideload:src/MacPorts 10:27$ time bzr branch http://bzr.savannah.gnu.org/r/emacs/trunk emacs-bzr-savannah
Branched 98788 revision(s).
bzr branch http://bzr.savannah.gnu.org/r/emacs/trunk emacs-bzr-savannah
685.71s user 138.98s system 48% cpu 28:30.21 total
More information about the bazaar
mailing list