Martin Pool
mbp at sourcefrog.net
Sun Nov 27 21:10:39 CST 2005
------------------------------------------------------------
revno: 1445
revision-id: mbp at sourcefrog.net-20051128031030-3d7262bf039ec1ec
parent: mbp at sourcefrog.net-20051125062856-e4c887417108fd9e
committer: Martin Pool <mbp at sourcefrog.net>
branch nick: bzr.dev
timestamp: Mon 2005-11-28 14:10:30 +1100
message:
[patch] weave fetch optimizations (Goffredo Baroncelli)
The patch adds 2 optimizations:
1) The patch add a hash ( file_ids_names ) which caches the revision
contained in a weave already processed, so it isn't needed to reload the
weave in order to check if a revision is present.
2) Moreover if it is required to merge a remote weave without a correspondent
weave in the local branch, the merge phase is skipped and the remote weave is
copied into the repository without other action.
The test below highlights a gain of 3x of user time, against a repository with
a history of 2548 revisions and 350 files. The repository is in the same machine,
which is a Duron 700MHz w/ 384MB of ram.
$ # w/ patch
$ time bzr branch http://kreijack.homelinux.net:8077/bazaar/hgweb_devel/
Branched 1279 revision(s).
real 59m9.511s
user 40m14.090s
sys 1m57.430s
$ # w/o patch
$ time bzr branch http://kreijack.homelinux.net:8077/bazaar/hgweb_devel/
Branched 1279 revision(s).
real 147m34.191s
user 122m10.273s
sys 5m43.247s
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/fetch.py fetch.py-20050818234941-26fea6105696365d
More information about the bazaar-commits
mailing list