[MERGE] Use a LRUCache in LocalTransport.clone

John Arbash Meinel john at arbash-meinel.com
Tue Jan 15 04:43:12 GMT 2008

Andrew Bennetts wrote:
> John Arbash Meinel wrote:
> [...]
>> If you still have the call log around, can you at least track down where 
>> clone() is happening under get_weave_or_empty()? I couldn't find it at a 
>> quick glance.
> It appears that I still do.
> It seems to be in pack_repo's get_weave_or_empty, if I'm reading this callgrind
> right...
> I've attached the callgrind file.
> -Andrew.

Looking closely at the function, we have:

         return knit.KnitVersionedFile('text:' + file_id,

However, the Transport being passed in is (I believe) not even being 
used, because it is really "access_method" that defines how it will read 
I *think* it is being cloned because at that level "tranpsort" is 
pointing at the ".bzr/repository/packs" subdirectory, but we want to 
report errors to users at the ".bzr/repository" level. We could 
trivially have it do it another way if this is a performance issue.


More information about the bazaar mailing list