bzr on Emacs performance suggestions

Óscar Fuentes ofv at wanadoo.es
Thu Nov 26 04:34:19 GMT 2009


Óscar Fuentes <ofv at wanadoo.es> writes:

> Ben Finney <ben+bazaar at benfinney.id.au> writes:
>
>>> The bad news is reported elsewhere: performance is visibly poor
>>> compared to git.
>>
>> It still seems relevant to point out, wherever this crops up, that
>> “Bazaar versus CVS” is the relevant comparison for the Emacs
>> repository, since Git is not an option AIUI.
>
> Right. And even those who work with git on other projects are working
> with CVS on Emacs, so performance will improve for everybody.

In the spirit of rigour I've made some tests and the results says that
my claim was utterly wrong:

bzr annotate file

takes 12.5 seconds average on a couple of files with short history
(README and lisp/abbrev.el)

On a file with a long history (src/xdisp.c) cvs requires 9 seconds and
annotate takes 38 seconds!

In all cases vcs requires less than 4 seconds.

A critical point here is that bzr is locally cpu-bound, while cvs
depends on the remote server. Hence, cvs is equally fast on all
machines, depending just on the load of the remote server.

This means that if I repeat the experiment on my netbook instead of the
fast workstation I'm using now, then annotate for README takes 47
seconds for bzr and 4 seconds for cvs. And for src/xdisp.c bzr takes
more than 3 minutes and cvs 9 seconds.

`bzr log' is not as expensive, but cvs is still faster even on the fast
workstation, let's not talk about the netbook.

I haven't checked `bzr st'. Hope that is faster than cvs.

-- 
Óscar




More information about the bazaar mailing list