CHKMap usage - optimizations?

Robert Collins robert.collins at
Wed May 13 15:01:38 BST 2009

On Wed, 2009-05-13 at 15:19 +0200, Jelmer Vernooij wrote:
> Hi Robert,
> I've got the file id map in bzr-svn based on CHKMap working. Performance
> is better than with a "plain" Knit as I was using before, but it's still
> quite slow.
> I'm storing these file id maps in a batch, in a linear way: basically a
> lot of iterations of:
>  * map = CHKMap(store, x)
>  * analyse log output for a particular revision to determine delta
>  * x = map.apply_delta(delta)

> Most of the time is spent in CHKMap at the moment:
> CHKMap.apply_delta(): 77.63%
>  * of which: Knit.add_lines(): 47.27%
> CHKMap.iteritems(): 5.14%
> What's the best way of improving this performance ? Switching to packs?

They will be faster.

> Is there some way I can use transactions here?

apply_delta is pretty efficient. You are perhaps suffering some
thrashing on page re-reads, but the basic problem is likely to be kndx

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part
Url : 

More information about the bazaar mailing list