all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Teemu Likonen <tlikonen@iki.fi>
To: bazaar@lists.canonical.com
Cc: emacs-devel@gnu.org
Subject: Re: Emacs repository benchmark: bzr and git (rerun)
Date: Wed, 19 Mar 2008 13:37:42 +0200	[thread overview]
Message-ID: <200803191337.42928.tlikonen@iki.fi> (raw)
In-Reply-To: <20080318154316.GA6242@mithlond.arda.local>

Teemu Likonen kirjoitti:

> I did some benchmarking in git and bzr repositories of Emacs. Some
> numbers: 89711 revisions (by "git log --pretty=oneline | wc -l"),
> 2825 files. Both repositories seem to have just linear history
> converted from CVS repo. Both have the same head revision which is
> 481c2a1e31f32c8aa0fb6d504575b75a18537788 (git) and
> revid:cvs-1:tsdh-20080318180244-lxbzttdnh6ecqbka (bzr).
>
> Repositories/branches are pulled from here:
> git: git://git.sv.gnu.org/emacs.git
> bzr: http://bzr.notengoamigos.org/emacs/trunk/
>
> My system is AMD Sempron 3000+ with 2 GB memory and it's running
> Debian GNU/Linux 4.0. I'm using the latest development versions of
> both git (1.5.5.rc0.6.gdeda) and bzr (1.4dev). I just measured with
> 'time' command how long it takes to run certain commands.


Hey! I realised that the emacs bzr repository was not fully optimized 
with "bzr pack" command. By running this command it really improves the 
performance of bzr; now I'm getting similar numbers as some of you. I 
really apologise for the misleading information I have spread. I want 
to correct my mistakes by running my tests again (see below).

This raises questions though. I had downloaded the premade emacs bzr 
repo from <http://bzr.notengoamigos.org/> and it seems to have its repo 
pretty much optimized since it performs much better than my previous 
benchmark. I had done almost nothing with the repository after that, 
just some bzr-pulls and performance tests. How come the emacs bzr 
repository slows down so much and so quickly? My experience is that you 
definitely want to run "bzr pack" quite often.

Anyway, here are the same tests with bzr-packed and git-gc'd 
repositories. This test shows that both have improved their 
performance, especially bzr. I did run all the tests three times to see 
if caches have effect. They didn't: all the three runs gave very much 
the same numbers. I picked up the best one anyway.

Again, I'm really sorry about my previous tests.


> Viewing history
> ---------------

I want to point out that in git you can always see the log 
_immediately_, no matter how long it takes to display the whole thing. 
In bzr these numbers reflect pretty much the time to get anything 
visible at all after entering the command.


> The complete history:
>
> $ time git log >/dev/null
> real    0m5.741s
>
> $ time bzr log >/dev/null
> real    3m15.708s

git: 0m3.348s
bzr: 1m15.143s


> Last 100 revisions:
>
> $ time git log -100 >/dev/null
> real    0m0.011s
>
> $ time bzr log -l100 >/dev/null
> real    2m10.270s

git: 0m0.009s
bzr: 0m26.562s


> Last 10 revisions:
>
> $ time git log -10 >/dev/null
> real    0m0.007s
>
> $ time bzr log -l10 >/dev/null
> real    2m9.163s

git: 0m0.005s
bzr: 0m25.519s


> The complete history of a single file:
>
> $ time git log src/keymap.c >/dev/null
> real    0m9.240s
> (The same as above but with detecting and following possible
> renames:) $ time git log --follow src/keymap.c >/dev/null
> real    0m17.891s
>
> $ time bzr log src/keymap.c >/dev/null
> real    3m35.431s

git: 0m5.127s
git: 0m8.953s (with --follow)
bzr: 0m55.461s


> Differences between revisions
> -----------------------------

> View changes introduced in given revision:
>
> (This shows also the commit message, author and date.)
> $ time git show 2635714f3dac5f24eb1997cbf97285810f6799c0 >/dev/null
> real    0m0.012s
>
> $ time bzr diff -c revid:cvs-1:wohler-20080318101724-c3ofm3vslli3wfwl
> >/dev/null real    2m40.467s

git: 0m0.010s
bzr: 0m23.315s


> Show differences between two revisions:
>
> $ time git diff HEAD~10..HEAD~4 >/dev/null
> real    0m0.076s
>
> $ time bzr diff -r -11..-5 >/dev/null
> real    2m44.214s

git: 0m0.068s
bzr: 0m24.140s


> $ time git diff HEAD~4.. >/dev/null
> real    0m0.072s
>
> $ time bzr diff -r -5.. >/dev/null
> real    1m21.836s

git: 0m0.060s
bzr: 0m12.889s


> Creating a branch
> -----------------
>
> With git I chose "git checkout -b" instead of "git branch" because
> the former also checks out the files as does "bzr branch". The bzr
> branch is created inside the same shared repository so that the
> common objects are shared.
>
>
> Create new topic branch based on the head revision of the main
> development branch:
>
> $ time git checkout -b topic master >/dev/null
> real    0m0.062s
>
> $ time bzr branch trunk topic >/dev/null
> real    0m7.249s

git: 0m0.043s
bzr: 0m4.504s


> Create new topic branch based on earlier revision of main development
> branch:
>
> $ time git checkout -b topic master~4 >/dev/null
> real    0m0.085s
>
> $ time bzr branch -r -5 trunk topic >/dev/null
> real    2m51.551s

git: 0m0.062s
bzr: 0m30.120s


> Compare branches' commit histories
> ----------------------------------
>
> In above benchmark I created branch 'topic' which is based on earlier
> revision of main development branch. In this test I compared commands
> which display commits that are missing from 'topic' branch compared
> to the main development branch (four commits in total).
>
>
> $ time git log topic..master >/dev/null
> real    0m0.006s
>
> $ time bzr missing --theirs-only ../trunk >/dev/null
> real    18m25.173s

git: 0m0.004s
bzr: 13m48.239s


> Annotate/blame a file (src/keymap.c)
> ------------------------------------
>
> $ time git blame src/keymap.c >/dev/null
> real    0m8.753s
>
> $ time bzr blame src/keymap.c >/dev/null
> real    0m58.296s

git: 0m7.954s
bzr: 0m17.114s



  parent reply	other threads:[~2008-03-19 11:37 UTC|newest]

Thread overview: 236+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-03-12 23:41 Emacs Bazaar repository Jason Earl
2008-03-13  1:48 ` Stefan Monnier
2008-03-13  1:52 ` dhruva
2008-03-13  2:26   ` Bastien
2008-03-13  2:28   ` Stefan Monnier
2008-03-13  3:12     ` dhruva
2008-03-13  4:06 ` Karl Fogel
2008-03-13  4:11   ` Jonathan Lange
2008-03-29  1:00     ` Xavier Maillard
2008-03-13 15:30   ` Karl Fogel
2008-03-13 15:58     ` dhruva
2008-03-13 16:50     ` Jason Earl
2008-03-13 20:18     ` How to spell "commit" [was: bikeshedding bzr (or similar) :] Stephen J. Turnbull
2008-03-13  4:09 ` Emacs Bazaar repository Karl Fogel
2008-03-13  4:15   ` Jonathan Lange
2008-03-13  4:30     ` Jonathan Lange
2008-03-14  1:11       ` Dan Nicolaescu
2008-03-14  1:51         ` Jason Earl
2008-03-14  5:10           ` Jonathan Lange
2008-03-13  9:58     ` Andreas Schwab
2008-03-13 22:13       ` Jonathan Lange
2008-03-14 10:27         ` Andreas Schwab
2008-03-14 10:36           ` David Kastrup
2008-03-13  5:08   ` Jason Earl
2008-03-13 10:39   ` Juanma Barranquero
2008-03-13 14:45     ` Stefan Monnier
2008-03-13  4:19 ` Eric Hanchrow
2008-03-13  5:20   ` Jason Earl
2008-03-13  8:04     ` dhruva
2008-03-13  9:04       ` Thien-Thi Nguyen
2008-03-13  9:41         ` David Kastrup
2008-03-13 12:08           ` Thien-Thi Nguyen
2008-03-13 23:46       ` Jonathan Lange
2008-03-14  2:52         ` dhruva
2008-03-14  3:00           ` Jason Earl
2008-03-14  3:03           ` Martin Pool
2008-03-14  5:36             ` Stephen J. Turnbull
2008-03-14  7:03               ` Martin Pool
2008-03-15  4:44                 ` Stephen J. Turnbull
2008-03-14 10:30         ` Andreas Schwab
2008-03-14 15:02         ` Giorgos Keramidas
2008-03-13 11:20     ` James Westby
2008-03-13 16:37       ` Jason Earl
2008-03-13  7:43 ` Thien-Thi Nguyen
2008-03-13  8:49   ` Jason Earl
2008-03-13  9:07     ` Thien-Thi Nguyen
2008-03-13 13:11     ` Aaron Bentley
2008-03-13 11:43 ` Andreas Schwab
2008-03-13 11:55   ` David Kastrup
2008-03-14  9:58     ` Matthieu Moy
2008-03-14 10:42       ` Andreas Schwab
2008-03-14 12:24         ` Matthieu Moy
     [not found]         ` <8562053f49b38b1584b86e1e4d1ec6e6, vpqbq5htrwx.fsf@bauges.imag.fr>
2008-03-14 12:42           ` David Ingamells
2008-03-14 13:05             ` Andreas Schwab
2008-03-14 12:40       ` Eli Zaretskii
2008-03-14  8:23         ` John Arbash Meinel
2008-03-14 13:32           ` Andreas Schwab
2008-03-14 13:39             ` James Westby
2008-03-14 14:13             ` Matthieu Moy
2008-03-14 14:30               ` Andreas Schwab
2008-03-14 14:37                 ` Nicholas Allen
2008-03-14 16:17                   ` David Kastrup
2008-03-14 16:32                     ` Daniel Mark Watkins
2008-03-14 15:15                 ` David Allouche
2008-03-14 15:21                   ` James Westby
2008-03-14 15:43                 ` Matthieu Moy
2008-03-14 13:35           ` David Kastrup
2008-03-14 13:44             ` James Westby
2008-03-14 13:59               ` David Kastrup
2008-03-14 14:09                 ` James Westby
2008-03-14 14:29                   ` Nicholas Allen
2008-03-15  0:39                   ` Stephen J. Turnbull
2008-03-15 10:30                     ` James Westby
2008-03-15 12:30                       ` James Westby
2008-03-14 23:34           ` Stephen J. Turnbull
2008-03-17 10:41             ` Matthieu Moy
2008-03-17 12:39             ` Sergei Organov
2008-03-18  1:48               ` Dan Nicolaescu
2008-03-18  2:13                 ` dhruva
2008-03-18  4:03                   ` Karl Fogel
2008-03-18  5:00                     ` dhruva
2008-03-18  5:40                       ` Jonathan Lange
2008-03-18  9:17                     ` Andreas Schwab
2008-03-18 10:00                       ` dhruva
2008-03-19  5:44                         ` Bastien
2008-03-19  9:42                           ` Juanma Barranquero
2008-03-19 14:04                             ` Bastien
2008-03-19 14:49                               ` Juanma Barranquero
2008-03-19 15:30                                 ` Bastien
2008-03-29  1:00                         ` Xavier Maillard
2008-03-18 16:50                       ` Stefan Monnier
2008-03-18 18:15                         ` Juanma Barranquero
2008-03-20 14:00                           ` Stefan Monnier
2008-03-20 14:10                             ` Jason Rumney
2008-03-20 15:33                               ` Stefan Monnier
2008-03-20 20:34                                 ` Eli Zaretskii
2008-03-21 12:51                             ` dhruva
2008-03-29  1:00                       ` Xavier Maillard
2008-03-18 19:31                     ` Mike Mattie
2008-03-18 19:27                   ` Richard Stallman
2008-03-18 20:05                     ` Andreas Schwab
2008-03-18 20:26                       ` Thien-Thi Nguyen
2008-03-22  4:23                         ` Michael Olson
2008-03-22 11:18                           ` Thien-Thi Nguyen
2008-03-24  6:19                             ` Michael Olson
2008-03-25  9:36                               ` Thien-Thi Nguyen
2008-03-20  1:04                       ` Jonathan Lange
2008-03-18 20:58                     ` Brian Cully
2008-03-18 21:13                       ` Mike Mattie
2008-03-18 21:45                     ` Stefan Monnier
2008-03-18 22:02                       ` Jonathan Lange
2008-03-19  1:21                         ` Stefan Monnier
2008-03-18 23:18                       ` Chong Yidong
2008-03-18 23:46                         ` Nick Roberts
2008-03-19  0:13                         ` Thomas Lord
2008-03-19  0:17                           ` Mike Mattie
2008-03-19  1:14                             ` Thomas Lord
2008-03-19  0:12                     ` Johannes Weiner
2008-03-26  7:56                       ` David Kastrup
2008-03-27 22:22                         ` Johannes Weiner
2008-03-29  1:00                         ` Xavier Maillard
2008-03-14 12:56         ` dhruva
2008-03-14 13:10           ` Lennart Borgman (gmail)
2008-03-14 13:23             ` dhruva
2008-03-14 13:26               ` Andreas Schwab
2008-03-14 14:19             ` Matthieu Moy
2008-03-14 14:29               ` Lennart Borgman (gmail)
2008-03-15  0:43             ` Jonathan Rockway
2008-03-15 14:37               ` Eli Zaretskii
2008-03-15 15:06                 ` dhruva
2008-03-15  0:44             ` Stephen J. Turnbull
2008-03-17 10:43               ` Matthieu Moy
2008-03-14 22:26           ` Martin Geisler
2008-03-15 12:09             ` dhruva
2008-03-15 21:32               ` Martin Geisler
2008-03-25 21:46               ` Giorgos Keramidas
2008-03-19 10:50           ` Sascha Wilde
2008-03-14 13:03         ` Andreas Schwab
2008-03-14 14:24           ` Matthieu Moy
2008-03-14 14:41             ` Andreas Schwab
2008-03-14 14:46               ` Jelmer Vernooij
2008-03-14 15:15                 ` Andreas Schwab
2008-03-15  0:49               ` Harald Meland
2008-03-14 18:04         ` Dan Nicolaescu
2008-03-14 19:42           ` Stefan Monnier
2008-03-14 19:47             ` Andreas Schwab
2008-03-14 20:01               ` Mathias Dahl
2008-03-14 20:06                 ` Andreas Schwab
2008-03-14 21:43         ` Karl Fogel
2008-03-15  0:00         ` Stephen J. Turnbull
2008-03-13 20:27   ` Eli Zaretskii
2008-03-14 10:23     ` Andreas Schwab
2008-03-14  3:56   ` Forest Bond
2008-03-14 10:32     ` Andreas Schwab
2008-03-14 11:28       ` Thomas Lord
2008-03-14 22:23         ` Stephen J. Turnbull
2008-03-14 23:49           ` Thomas Lord
2008-03-14  4:52   ` Jonathan Lange
2008-03-14  6:21     ` Dan Nicolaescu
2008-03-14  6:33       ` Alexander Belchenko
2008-03-14  7:16         ` Dan Nicolaescu
2008-03-14  9:18           ` Juanma Barranquero
2008-03-14 10:08             ` Matthew D. Fuller
2008-03-14 10:14               ` Juanma Barranquero
2008-03-19 16:31             ` Nicholas Allen
2008-03-14 10:35     ` Andreas Schwab
2008-03-14 10:37     ` Andreas Schwab
2008-03-14 11:30   ` Matt Nordhoff
2008-03-29  1:00   ` Xavier Maillard
2008-03-13 13:07 ` Andrea Russo
2008-03-14  9:16   ` Nicholas Allen
2008-03-13 14:18 ` Andreas Schwab
2008-03-14 18:08 ` Stefan Monnier
2008-03-14 18:35   ` Jason Earl
2008-03-14 18:51   ` Andreas Schwab
2008-03-14 19:15     ` Stefan Monnier
2008-03-14 19:32       ` Andreas Schwab
2008-03-14 20:12       ` Thomas Lord
2008-03-14 18:31 ` Goffredo Baroncelli
2008-03-16 18:57 ` Stefan Monnier
2008-03-16 19:53   ` Andreas Schwab
2008-03-17 15:00     ` Michael Haggerty
2008-03-17 16:37       ` Andreas Schwab
2008-03-16 21:47   ` Toshio Kuratomi
2008-03-18 15:43 ` Emacs repository benchmark: bzr and git Teemu Likonen
2008-03-18 15:51   ` Lennart Borgman (gmail)
2008-03-18 16:05     ` dhruva
2008-03-19  2:53       ` Richard Stallman
2008-03-27  1:32         ` Jonathan Lange
2008-03-27  2:24           ` Stephen J. Turnbull
2008-03-27  2:55           ` Stefan Monnier
2008-03-27 11:58             ` dhruva
2008-03-27 13:59             ` Vincent Ladeuil
2008-03-29  1:17               ` Stefan Monnier
2008-03-29  1:30                 ` James Westby
2008-03-29  3:09                   ` Stefan Monnier
2008-03-29  4:06                     ` James Westby
2008-03-29  4:50                       ` Stefan Monnier
2008-03-29  1:00             ` Xavier Maillard
2008-03-29  4:34               ` David Cournapeau
2008-03-31  0:00                 ` Xavier Maillard
2008-03-29  1:00       ` Xavier Maillard
2008-03-29  9:19         ` Andreas Schwab
2008-03-29  9:58           ` David Kastrup
2008-03-29 10:13             ` dhruva
2008-03-29 10:26               ` David Kastrup
2008-03-31  0:00               ` Xavier Maillard
2008-03-29 14:55             ` Randal L. Schwartz
2008-03-29 16:35               ` Óscar Fuentes
2008-03-29 18:13                 ` tomas
2008-03-29 21:05                 ` Stephen J. Turnbull
2008-03-30  5:49               ` Richard Stallman
2008-03-30  5:49           ` Richard Stallman
2008-03-30  6:25             ` Jonathan Rockway
2008-03-30 19:56               ` Richard Stallman
2008-03-31  0:00           ` Xavier Maillard
2008-03-18 16:19     ` Matthieu Moy
2008-03-19  9:43       ` Teemu Likonen
2008-03-18 16:02   ` Matthieu Moy
2008-03-18 16:33     ` dhruva
2008-03-18 18:41       ` Jonathan Corbet
2008-03-19  1:40         ` dhruva
2008-03-18 21:04       ` Eli Zaretskii
2008-03-18 17:11     ` Teemu Likonen
2008-03-18 17:43     ` Stefan Monnier
2008-03-18 18:20       ` Juanma Barranquero
2008-03-18 16:43   ` Andreas Schwab
2008-03-18 19:19     ` Teemu Likonen
2008-03-18 20:22   ` James Westby
2008-03-19 11:37   ` Teemu Likonen [this message]
2008-03-19 12:17     ` Emacs repository benchmark: bzr and git (rerun) James Westby
2008-03-19 22:39       ` Robert Collins
2008-03-19 16:41     ` Teemu Likonen
2008-03-22 17:59 ` Emacs Bazaar repository Stefan Monnier
2008-03-22 19:59   ` Andreas Schwab
2008-03-24  7:53 ` Christian Faulhammer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200803191337.42928.tlikonen@iki.fi \
    --to=tlikonen@iki.fi \
    --cc=bazaar@lists.canonical.com \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.