unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Jason Earl <jearl@notengoamigos.org>
To: John Arbash Meinel <john@arbash-meinel.com>
Cc: Christian Faulhammer <opfer@gentoo.org>,
	bazaar@lists.canonical.com,
	Daniel Clemente <dcl441-bugs@yahoo.com>,
	emacs-devel@gnu.org
Subject: Re: Emacs Bazaar Repository II
Date: Wed, 22 Oct 2008 15:40:14 -0600	[thread overview]
Message-ID: <87y70gqpfl.fsf@notengoamigos.org> (raw)
In-Reply-To: <48FF9576.8040401@arbash-meinel.com> (John Arbash Meinel's message of "Wed, 22 Oct 2008 16:04:54 -0500")

John Arbash Meinel <john@arbash-meinel.com> writes:

> Jason Earl wrote:
>> Christian Faulhammer <opfer@gentoo.org> writes:
>> 
>>> Hi,
>>>
>>> Daniel Clemente <dcl441-bugs@yahoo.com>:
>>>
>>>>   The operation I use most is „log“: to see what's new, or if
>>>> something was included or not, or when, or who did what when, etc. I
>>>> have tested this second repository and also the first one. I used
>>>> today's bzr (rev. 3788) and did several successive tests until the
>>>> results stabilised.
>>>  Which bzr version are you using?  1.8 improved log performance
>>> according to the release notes.
>>>
>>> V-Li
>> 
>> I'm using bzr.dev and I get similar numbers for trunk on the emacs
>> repository.  Of course, this is on an underpowered laptop, but I still
>> have a hard time waiting over a minute for log information.
>> 
>> time bzr log > /dev/null
>> 
>> real    2m7.347s
>> user    1m52.223s
>> sys     0m1.152s
>> 
>> Even worse, just getting the last 10 revisions is also ridiculously
>> slow.
>> 
>> time bzr log -r -10.. > /dev/null 
>> 
>> real    1m5.250s
>> user    0m59.520s
>> sys     0m0.320s
>> 
>> I didn't want to pile on with this particular complaint, as I know that
>> it has been brought up before, but bzr log is really really slow on
>> repositories with as many revisions as Emacs has.
>> 
>> I really like bzr's log output, as it makes the branch merging very
>> clear, but I really wish I knew of a sensible way to just get the last
>> few changes on a branch.
>> 
>> Jason Earl
>> 
>> 
>
> Try "bzr log --short -r -10..-1 >/dev/null"

Oh yeah, that's the stuff.  That finished in less than a second.  More
importantly (to me anyway) straight bzr log --short starts spitting out
information to the console immediately.  Now I can do

bzr log --short | less

And see the most recent changes instantly.  I think that it is time for
me to create an alias.  The command still takes a while to finish (1m28s
on my crappy laptop), but I don't care, because the bits I want appear
immediately.

> It should be surprisingly faster. I've been working with Vincent a
> little bit to try and make our log layout and numbering not require
> reading the whole ancestry.

--short is a lot better.  I miss the fancier layout a little, but not
enough to want to go back to waiting 2 minutes.

> Also, you might try using "--development2" format. At least if you want
> to see an interesting comparison. Specifically, --development2 changes
> the index format, which makes certain parts of "load-the-whole-ancestry"
> perform a lot better. Obviously the best fix is to get rid of the
> O(ancsetry) operation, but you can do some things to mitigate it in the
> short term.

Actually, the repository I am testing is already in development2 format.

jearl@jearl-laptop:~/projects/emacs/trunk$ bzr info
Repository branch (format: development2)
Location:
  shared repository: /home/jearl/projects/emacs
  repository branch: .

Related branches:
  parent branch: bzr://bzr.notengoamigos.org/emacs/trunk/

I probably should have mentioned that when I forwarded my "benchmarks",
but to be honest, I forgot that I had upgraded :).

> (With a recent bzr.dev or I believe bzr-1.8, you should be able to copy
> your existing repository and just "bzr upgrade --development2")

I updated my bzr to the most recent bzr.dev before testing.  I'd
forgotten that I had already updated the repository format, but I've
been using bzr long enough to know that a lot of progress has been made
in a ridiculously short time.  If your version of bzr is even a month
old then you are basically using a relic :).

> If you are willing to do it, it would be interesting to see the
> result.

Unfortunately, I'm pretty sure my original benchmarks included your
improvements.  The normal log command is painfully slow on the emacs
repository.  Even worse, it doesn't even start spitting out text
forever.  When using the --short flag it still takes over a minute, but
since there is output immediately it doesn't seem bad at all.

Jason Earl



  reply	other threads:[~2008-10-22 21:40 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-10-11 21:39 Emacs Bazaar Repository II Jason Earl
2008-10-19 23:56 ` Martin Pool
2008-10-21 22:07   ` Daniel Clemente
2008-10-22 18:46     ` Christian Faulhammer
2008-10-22 20:50       ` Jason Earl
2008-10-22 21:04         ` John Arbash Meinel
2008-10-22 21:40           ` Jason Earl [this message]
2008-10-22 22:16             ` Aaron Bentley
2008-10-26 17:33           ` Daniel Clemente
2008-10-26 19:37             ` Eli Zaretskii
2008-10-26 20:08               ` Mathias Megyei
2008-10-26 21:59             ` Robert Collins
2008-10-26 23:34               ` Andreas Schwab
2008-10-22 21:22       ` Daniel Clemente
2008-10-23 14:25         ` John Arbash Meinel

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

  List information: https://www.gnu.org/software/emacs/

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

  git send-email \
    --in-reply-to=87y70gqpfl.fsf@notengoamigos.org \
    --to=jearl@notengoamigos.org \
    --cc=bazaar@lists.canonical.com \
    --cc=dcl441-bugs@yahoo.com \
    --cc=emacs-devel@gnu.org \
    --cc=john@arbash-meinel.com \
    --cc=opfer@gentoo.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 public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).