bzr-usertest - a benchmarking toolkit for Bazaar and other command line (VCS) tools

Ian Clatworthy ian.clatworthy at internode.on.net
Thu Mar 27 22:31:16 GMT 2008


Gonsolo wrote:
> Hi!
> 
> I just downloaded your script and tested it on Python with:
> 
> bzr usertest --tool git Python-2.5.1.tar.bz2
> 
> My numbers:
> 
> unpack statistics: 3723 files taking 51.527 MB in 8.3 secs
> [...]
> === Disk Usage Summary (MB) ===
> Old:New MB      Directory
> 1.441   74.273  Python-2.5.1.tar.bz2-2344/work_root_for-git
> 1.225   63.137  Python-2.5.1.tar.bz2-2344/work_root_for-git-branchAndFix
> 
> A ratio of 1.2-1.4 is what I expected. But these numbers are very
> different from yours (137.41MB, 2.666).
> 
> Am I missing something?

If you add those two together, you'll get my numbers. My email yesterday
was incorrect in that I forgot to mention the "clone the branch and
makes some changes" bit. That is explained, possibly not clear enough,
on http://bazaar-vcs.org/Benchmarks/SpaceEfficiency in the section
titled The Scripts ...

> For each project, a script is run once and the results are recorded. Here's what the script does in a nutshell:
> 
>     * unpacks a source code tree
>     * imports it into Bazaar or alternative tool
>     * makes another branch and works on it: add, commit, edit, commit, status, diff, log, etc. 
> 
> Note that the branch created is a truly separate branch with its own working tree (the default approach in Bazaar and Mercurial), not a lightweight branch (the default approach in Git).

I understand that Git encourages using just a single working tree so
cloning a repository isn't done as commonly as it is when developers are
using Bazaar or Mercurial. Even so, two working trees is the bare
minimum the vast majority of developers I know keep around for their
main project:

1. the current development mainline
2. the last officially released version.

Even with a single repository and no second one, I think you'll find
Bazaar comes out ahead for shallow histories. My expectation is that Git
is currently ahead for deep histories, i.e. projects with 10s of 1000s
of revisions. It will be interesting to see where the cross-over point
is. I'm planning to find that soon once bzr-fastimport matures enough
that I can put together a good sample set of repositories.

Ian C.



More information about the bazaar mailing list