Performance of bzr update for lightweight checkout
Ulrich Mueller
ulm at gentoo.org
Fri Feb 4 16:57:20 UTC 2011
Hi,
I was wondering about the amount of data that is transferred during a
"bzr update" of a lightweight checkout, with bzr 2.2.2 on GNU/Linux.
In Gentoo, we have a live ebuild for GNU Emacs that will access their
repository at savannah.gnu.org. The initial checkout is done with
"bzr checkout --lightweight" because we don't need any history. Also,
the size of the checkout will be smaller: 114 MB, compared to 364 MB
for a non-lightweight checkout. Subsequently, the checkout will be
updated with "bzr update".
During the last month I have noticed that on several of my updates
huge amounts of data, about 700 MB, were transferred.
The behaviour can be reproduced as follows:
$ bzr checkout --lightweight --revision date:2011-01-25 \
bzr://bzr.savannah.gnu.org/emacs/trunk/ emacs-test
$ cp -a emacs-test emacs-test-20110125 # copy for later diff
$ cd emacs-test
$ bzr update --revision date:2011-02-01
(At this point, I had to wait for about 40 minutes, with dstat showing
that my 3 MB/s connection is quite busy ...)
In my ~/.bzr.log there is the following line:
2436.479 Transferred: 704954kB (289.4kB/s r:704688kB w:266kB)
However, the total amount of changes in the repository seems to be
much smaller:
$ cd ..
$ diff -Nr emacs-test-20110125 emacs-test | wc
36003 169698 1429928
Only 1.5 MB, what I would (naively?) expect to be about the amount of
data that should have been transferred. Also an update shouldn't need
to transfer more data than deleting and doing a new checkout?
Am I doing anything wrong?
Ulrich
More information about the bazaar
mailing list