[MERGE] Annotation updates

John Arbash Meinel john at arbash-meinel.com
Thu Mar 6 10:35:51 GMT 2008


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

This builds upon my earlier patch to add a few more improvements and a
bit of cleanup for annotate.

The improvement is mostly in memory consumption. The old code would
cache all file texts and annotated texts and you build it up in memory.
The new code tracks when a node can be reused (because all children have
been processed). On a medium sized file with a lot of history (2.8k
commits) it drops the peak memory consumption:
VmPeak: 57336 kB
vs
VmPeak: 282040 kB

Overall the speed is improved dramatically (approx 2x) versus bzr.dev.

It also starts to push more of the knit content details a bit lower in
the stack. So the eol information is now tracked by the KnitContent
objects rather than being tracked by the KnitVersionedFile or KnitIndex
objects. This will hopefully also make it a bit easier to switch over to
different stored formats that don't have the same properties as our
current line-deltas.

I believe this addresses Robert's concerns with the earlier version of
the patch.

John
=:->
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFHz8kGJdeBCYSNAAMRAksBAJ9GdiFP4Eswwr1rR7r2QMPulpZj7ACfWCvD
9FDjfZmaTVdv5sK6ljcfMf8=
=NCX3
-----END PGP SIGNATURE-----
-------------- next part --------------
A non-text attachment was scrubbed...
Name: annotate_cleanup.patch
Type: text/x-diff
Size: 69117 bytes
Desc: not available
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20080306/7448fa58/attachment-0001.bin 


More information about the bazaar mailing list