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

Goffredo Baroncelli kreijack at alice.it
Sat Dec 10 18:15:02 GMT 2005


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 a new function in the Branch
class: the file_involved( ) function [Patch #1].
This function returns a set of the file_id which are involved in changes.

On the basis that:
a)every line of the inventory refers to an one entry
b)every line is a chunk of data of the weave format
the function file_involved( ) parses the raw data of inventory.weave 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 ).
If you want to know the gain see my previous email ( 
http://lists.ubuntu.com/archives/bazaar-ng/2005q4/005587.html )

The patches are four:
1) the file_involved( ) function

The next three depend on the first
2) a test case of the file_involved function ( as suggest by  
Robert Collins )
3) the patch of the fetch code
4) the patch of the clone code


$ ./bzr diff -r branch:../bzr.dev/ | diffstat
 branch.py                   |   49 +++++++++++
 clone.py                    |   63 +++-----------
 fetch.py                    |  186 +++++++++++++++++---------------------------
 tests/__init__.py           |    2
 tests/test_fetch.py         |    2
 tests/test_file_involved.py |  179 ++++++++++++++++++++++++++++++++++++++++++

Please give me some feedback

Goffredo
-- 
gpg key@ keyserver.linux.it: Goffredo Baroncelli (ghigo) <kreijack AT inwind.it>
Key fingerprint = CE3C 7E01 6782 30A3 5B87  87C0 BB86 505C 6B2A CFF9

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20051210/e8f7041c/attachment.pgp 


More information about the bazaar mailing list