[RFC/PLEASETEST] Per-file graph heads detection during commit for pack repositories.

Robert Collins robertc at robertcollins.net
Wed Nov 14 17:07:04 GMT 2007


On Wed, 2007-11-14 at 10:49 -0600, John Arbash Meinel wrote:
> 
> 
> The callgrind seems to put 98% of the time in bzrlib.graph.heads().
> I'm
> actually thinking that part of the problem is that we don't cache any
> of the
> graph information, so every call needs to go all the way down and
> bisect
> through the index data. I might work up an alternate patch. 

We don't cache the result of heads, but the graph data itself is cached,
successive calls won't do IO if the same revisions are accessed.
However, sum the revisions in the get_parents calls and you'll see a
large chunk of the problem. A related one is that we make 3 times as
many get parents calls because we use separate lookups for each
searcher.

-Rob
-- 
GPG key available at: <http://www.robertcollins.net/keys.txt>.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20071115/b6b0cbb1/attachment.pgp 


More information about the bazaar mailing list