Tutorial :How significant is the bazaar performance factor?


I hear all this stuff about bazaar being slower than git. I haven't used too much distributed version control yet, but in Bazaar vs. Git on the bazaar site, they say that most complaints about performance aren't true anymore. Have you found this to be true? Is performance pretty much on par now?

I've heard that speed can affect workflow (people are more likely to do good thing X if X is fast). What specific cases does performance currently affect workflow in bazaar vs other systems (especially git), and how?

I'm just trying to get at why performance is of particular importance. Usually when I check something in or update it, I expect it to take a little while, but it doesn't matter. I commit/update when I have a second, so it doesn't interfere with my productivity. But then I haven't used DVCS yet, so maybe that has something to do with it?


The python developers recently decided to switch to Mercurial and as part of the process did some basic benchmarking of git, Mercurial and Bazaar which is documented in PEP-374.

An incredibly rough eye balling of the numbers they posted showed Bazaar to be 2-4x slower than either git or Mercurial in the use cases tested.

That being said, the message conveyed on python-dev was that all of them (git, Mercurial, Bazaar) are better than Subversion, for the most part they are fast enough and the choice of Mercurial over git/Bazaar was mostly based on the gut feelings of the BFDL and the attendees of PyCon2009.


Bazaar is such a fast moving target (and presumably so is git) that any claims about performance are likely to be out of date by the time you read them.

According to many sources including Wikipedia, git is particularly slow on Windows because it needs its POSIX environment, but that nothing beats the speed of git in its native, POSIX-y Linux. This is one reason I use Bazaar - apart from personally finding it easy to use, I use Windows 66% of the time and Bazaar has no performance problems on Windows. I don't doubt that git is very fast on Linux though.

Again, though, benchmarks could be skewed by a variety of factors and may be out of date.


Benchmark test 2009-08-16: Git, Hg 1.3.1, Bzr 1.17


See also PDF mentioned in the site, which gives more background on these three DVCS (with better benchmark graphs).

SUMMARY: Hg and Bzr are practically equal in performance wise. Bzr has improved in leaps (see upcoming 2.0) and the "shared repositories" in Bzr is as fast as "git branch". The development phase and development discussion messages, of both Git and Bzr, suggest that in the future Git and Bzr will advance quicker than Hg.


Bazaar developers now working on new major version that should be released in the June-July 2009. Some technical details here: http://jam-bazaar.blogspot.com/2009/03/brisbane-core.html

UPDATE: bzr 2.0 with mentioned improvements released in September 2009.


Bazaar 2.0, released 2009-09-22, uses a much more efficient storage format by default. Current benchmarks show Bazaar 2.0 performing pretty much equal speed with Mercurial, and considerably more space-efficient in its repository data.


Warning: lot of articles on VCS are quickly outdated, these projects in general, and Bazaar in particular, are quickly evolving.
I found some time ago a recent benchmark: Mercurial vs. Bazaar speedtest clone and log, it appears Hg is still faster than Bzr.

Now, that's funny, I have just read some threads on the Bazaar mailing list, particularly comments on the PEP-374, and a yet to come switch of Emacs SC to Bzr. On the latter, it looks like they wait for the next release (1.14) which will bring a big speed boost (at least for their needs). On the former, a contributor made a good remark: if it is fast enough for you, it is OK!

Lot of benchmarks tend to check out a large (or very large) codebase/history and measure network speed and such. Indeed, on such cases, Bzr still perform poorly (but they work on it). Disk space is larger too. But hey, modern disks are quite large, that's probably a minor issue.

Personally, I use Bzr for small personal projects, history is still recent, so I don't care much about speed. As others point out, you might want to concentrate instead on usability/ease of use, how it fits to your workflow, if renaming is important for you, if various ways of accessing remote repositories (including SSH and FTP, for example) are important, etc.


Well i'm checking out emacs on a linux VM (debian) and bzr seems to be continuously consuming memory and cpu, and shows no signs of completing. This is problematic for me.

Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Next Post »