[PATCH 0/4] Speed improvement in fetch/clone

Martin Pool mbp at sourcefrog.net
Wed Jan 18 04:00:40 GMT 2006


On 15 Dec 2005, Goffredo Baroncelli <kreijack at alice.it> wrote:
> Hi all,
> 
> the aim of the following four patches is to improve the performance to the
> fetch/clone code. In order to obtain that, I introduced three new functions in the Branch
> class: 
> 
> fileid_involved_between_revs(from_revid, to_revid)
> fileid_involved(last_revid)
> fileid_involved_by_set(changes)
> 
> These functions return a set of the file_id(s) which are involved in changes.
> 
> These functions work on the basis that every line of the inventory refers to one entry;
> the functions fileid_involved*( ) scan every line of the inventory.weave file in order to 
> detect which file_id(s) are involved in the changes of a range of revisions.
> 
> This information is used by the clone/fetch function in order to download the weave(s)
> without 
> a) expanding all the inventory entries or..
> b) .. lists the file presents under .bzr/weave/... which is impossible in
>   some transport ( as http ).

I'm just about to commit the merge of this into bzr.dev.  Robert has
suggested that it should be in 0.7 too because of the relative
simplicity of the change and the likelihood of a large performance gain,
and I agree.

I'm just doing a branch of the main branch using this as a final manual
check.  It does seem to have affected the progress bar display. (?)

Thanks
-- 
Martin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20060118/1147cd2b/attachment.pgp 


More information about the bazaar mailing list