[RFC] bzr status in a lightweight checkout doesn't need to connect to master branch
John Arbash Meinel
john at arbash-meinel.com
Mon Sep 25 23:53:05 BST 2006
I'm working on a bit of performance testing, to show what has improved
in 0.11. And Robert's changes to 'lock_tree_write' help a lot for
lightweight checkouts, because they no longer need to lock the remote
repository for stuff like 'bzr status' and 'bzr diff'.
We have the basis inventory already cached locally, so we don't need the
remote branch for anything.
So what I noticed was 'bzr status' in a lightweight checkout of bzr.dev
(and 35ms latency link) still connects to the remote repository. (It
*is* much faster, though).
I'm guessing that is because we aren't lazy about dereferencing a
BranchReference.
Specifically BranchReferenceFormat.open() connects to the remote branch
right away.
If we could defer that, then 'bzr status' and 'bzr diff' would be just
as fast with a lightweight checkout as a heavyweight one.
But to show that we are doing better:
$ time bzr11 st
bzr11 st 0.59s user 0.14s system 28% cpu 2.526 total
$ time bzr10 st
bzr10 st 0.79s user 0.20s system 12% cpu 8.289 total
If we didn't have the connection, I would expect this to be <1s. (0.5
when I tested in a different directory)
John
=:->
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 254 bytes
Desc: OpenPGP digital signature
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20060925/52a6177f/attachment.pgp
More information about the bazaar
mailing list