[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
> I've attached the callgrind file.
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