all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Martin Pool" <mbp@sourcefrog.net>
To: "Stephen J. Turnbull" <stephen@xemacs.org>
Cc: Jonathan Lange <jml@mumak.net>, Jason Earl <jearl@xmission.com>,
	emacs-devel@gnu.org
Subject: Re: Emacs Bazaar repository
Date: Fri, 14 Mar 2008 18:03:39 +1100	[thread overview]
Message-ID: <e01316480803140003v41d745eep39ccb464197c8ce0@mail.gmail.com> (raw)
In-Reply-To: <873aqtuasq.fsf@uwakimon.sk.tsukuba.ac.jp>

On 14/03/2008, Stephen J. Turnbull <stephen@xemacs.org> wrote:
> Martin Pool writes:
>
>   > I believe the main problem is that we are processing the whole graph
>   > to work out which revisions merged which others.
>
> What does this mean?  That you can avoid pulling patches that cause
>  conflicts if they've already been applied?  But that's not terribly
>  interesting in most logging or mass download applications.

Bazaar shows revisions in a nested form like this:

  a
  b
    c
    d
  e
  f
  ..

This means that c and d were merged into this branch in revision b,
and were not previously present in the repository.  This layout gives
a good overview of the history, in our opinion a much better one than
what you get from tools that just print one path through the graph or
that print the revisions in arbitrary linear order.

To calculate which revisions are newly merged is currently done by
examining the whole graph.  We will do two things to speed it up:
faster loading of the graph from the repository, and caching some data
in the branch.

But possibly you don't want to know about merged in revisions, and
that can be done with bzr log --short or --line.  These should be able
to do much less work, just walking down through the revision to print.
mwh posted a patch for this, and we can take it further.

>  While I quoted Hoare on the root of all evil elsewhere, and continue
>  to take that as my default position, these numbers are uncomfortable.
>  I don't care how cold the CPU cache is, I don't want an attempt to
>  access a non-existent local repo to take 10s.  Nor should a
>  disk-to-disk copy of a 400MB directory tree take 23.5m.  The partial
>  clone times are heartening, although it's hard to guess what they
>  mean in terms of throughput.

I want to point out that bzr branch locally, not in a single
repository, is doing more than just copying all the files - it is
filtering out and verifying the data relevant to the particular branch
you're copying.  If you just want to copy the data, use cp; if you
want a new branch without copying, use init-repo to create a common
repository directory above them.

That said, it would probably be useful to have an option which copies
the whole thing with no or fewer checks, and to speed up the way we do
copy it.

>  # Initial one-branch clone.
>  $ time bzr clone http://bzr.notengoamigos.org/emacs/trunk/ earl-bzr
>  Branched 87515 revision(s).
>
>  real    101m35.490s     user    28m16.698s      sys     2m7.827s
>
>  # Clone from a local standalone branch into a shared repo.
>  $ time bzr clone ../earl-bzr trunk
>  Branched 87515 revision(s).
>
>  real    23m27.626s      user    13m57.869s      sys     1m12.516s
>
>  # Command line typo on a local URL, bzr figures it out in 10s.
>  $ time bzr branch EMACS_22_BASE
>  bzr: ERROR: Not a branch: "/Users/steve/Software/Emacs/emacs-bzr/EMACS_22_BASE/".
>
>  real    0m10.183s       user    0m0.457s        sys     0m1.361s

Maybe you could send (perhaps just on the bzr list) a run of that with
"bzr --lsprof branch ...".  It may be that the low cpu usage is caused
by many things being pushed out of ram by building the emacs working
tree in the previous command.

>  # Command line typo on a remote URL, bzr figures it out in 3.5s.
>  $ time bzr clone http://bzr.notengoamigos.org/emacs/EMACS_22_BASE
>  bzr: ERROR: Not a branch: "http://bzr.notengoamigos.org/emacs/EMACS_22_BASE/".
>
>  real    0m3.427s        user    0m0.499s        sys     0m1.142s

For me this remote urls takes about .6s; I may be closer to that
server.  At any rate it is only sending one http request which is the
least that can be reasonably expected. :)

-- 
Martin




  reply	other threads:[~2008-03-14  7:03 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 [this message]
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   ` 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=e01316480803140003v41d745eep39ccb464197c8ce0@mail.gmail.com \
    --to=mbp@sourcefrog.net \
    --cc=emacs-devel@gnu.org \
    --cc=jearl@xmission.com \
    --cc=jml@mumak.net \
    --cc=stephen@xemacs.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.