all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: John Arbash Meinel <john@arbash-meinel.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: schwab@suse.de, dak@gnu.org, emacs-devel@gnu.org,
	Matthieu Moy <Matthieu.Moy@imag.fr>,
	bazaar@lists.canonical.com
Subject: Re: Emacs Bazaar repository
Date: Fri, 14 Mar 2008 08:23:29 +0000	[thread overview]
Message-ID: <47DA3601.3040507@arbash-meinel.com> (raw)
In-Reply-To: <umyp1iimf.fsf@gnu.org>

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Eli Zaretskii wrote:
>> From: Matthieu Moy <Matthieu.Moy@imag.fr>
>> Date: Fri, 14 Mar 2008 10:58:13 +0100
>> Cc: Andreas Schwab <schwab@suse.de>, emacs-devel@gnu.org,
>> 	bazaar@lists.canonical.com
>>
>>> Andreas Schwab <schwab@suse.de> writes:
>>>
>>>> My first impression is that bzr is slow, so slow that it is completely
>>>> unusable.  How can it come that a simple bzr log takes more than a
>>>> minute to even start?  Even cvs log is instantaneous in comparison,
>>>> although it has to request the log from the server.
>> [...]
>> As opposed to that, bzr has to get a global view of history at least
>> to get the revision numbers (there was some plans caching this
>> information, I don't know what's the status).
>>
>> That said, the time for bzr log to start should clearly not be _that_
>> long.
> 
> Incidentally, why are we concentrating on "bzr log"? is that a
> frequent operation?  With CVS, I find myself doing "cvs log" only once
> in a few months, when I'm looking for a change corresponding to some
> ChangeLog entry.
> 
> Aren't "push" and "pull" much more important, as far as speed is
> concerned, for everyday work?  Also the equivalent of "cvs diff", I
> think.  Those are the ops I use much more frequently than "log" and
> "annotate".

I think it is because 'bzr log' is surprisingly slow when compared to
other systems, while the other commands are not.

The biggest reason 'bzr log' is slow is because we spend some time
analyzing the ancestry to give a "pretty" view, while git/hg do not.
Specifically, when you do "bzr log" we traverse the ancestry to figure
out when revisions were merged, etc.

I believe plain "git log" just starts outputting the revisions as it
encounters them, and "hg log" also outputs them as they are stored. In
the case of "hg" that means that the order of operations you did to
create the branch will change the order you see them displayed. So if
you and someone else do 2 commits and then you merge them, and they pull
you. At that point "hg log" gives different results, even though both
branches are "the same".

For example:

hg init A
cd A
echo foo > foo
hg add
hg commit -m 'init'
cd ..
hg clone A B
cd A
echo "A1" >> foo
hg commit -m "A1"
echo "A2" >> foo
hg commit -m "A2"
cd ../B
echo "B1" > bar
hg add
hg commit -m "B1"
echo "B2" >> bar
hg commit -m "B2"
hg pull ../A
hg merge
hg commit -m "Merged"
cd ../A
hg pull -u ../B

At that point doing:
cd A
hg log

gives me: (paraphrased for clarity)
changeset:   5:04157da570b3
summary:     Merged

changeset:   4:e44ea38fbbb9
summary:     B2

changeset:   3:d2df37f438ac
summary:     B1

changeset:   2:111f2448422b
summary:     A2

changeset:   1:3a8ecee8c0bf
summary:     A1

changeset:   0:5a118c651080
summary:     init

versus
cd B
hg log
changeset:   5:04157da570b3
summary:     Merged

changeset:   4:111f2448422b
summary:     A2

changeset:   3:3a8ecee8c0bf
summary:     A1

changeset:   2:e44ea38fbbb9
summary:     B2

changeset:   1:d2df37f438ac
summary:     B1

changeset:   0:5a118c651080
summary:     init


The other thing is that these numbers are going to be permanently
different for the two branches. Which means that you can't refer to
"revno 4 in branch A". Because someone with an effective clone of your
"branch A" might have different revisions.

We are working hard to decrease the cost of this ancestry lookup. We
have a couple plans which will allow us to determine the revision
numbers without having to look at all of history. We'll still look at
more than 0 history, but if we can bound the amount of history we have
to look at, it should help.


(I believe 'git log' defaults to showing the log based on a local sort
by date. Neither one tries to figure out that A1 and A2 were merged into
tip, which is another step that 'bzr log' does.)

John
=:->
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFH2jYBJdeBCYSNAAMRAh/KAJ9pK07hLXcDBZY+GqZUYWaemSXTTQCdE1U6
hO2ad7jQ6e4h+jqIgNsOYgM=
=CX95
-----END PGP SIGNATURE-----



  reply	other threads:[~2008-03-14  8:23 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 [this message]
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   ` Emacs repository benchmark: bzr and git (rerun) Teemu Likonen
2008-03-19 12:17     ` 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=47DA3601.3040507@arbash-meinel.com \
    --to=john@arbash-meinel.com \
    --cc=Matthieu.Moy@imag.fr \
    --cc=bazaar@lists.canonical.com \
    --cc=dak@gnu.org \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=schwab@suse.de \
    /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.