Emacs Bazaar Repository II

Jason Earl jearl at notengoamigos.org
Wed Oct 22 22:40:14 BST 2008


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

> Jason Earl wrote:
>> Christian Faulhammer <opfer at gentoo.org> writes:
>> 
>>> Hi,
>>>
>>> Daniel Clemente <dcl441-bugs at 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 at 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



More information about the bazaar mailing list