[MERGE] Redo annotate more simply, using just the public interfaces for VersionedFiles.

John Arbash Meinel john at arbash-meinel.com
Thu Jul 3 16:40:00 BST 2008


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

Martin Pool wrote:
|> time bzr annotate --show-ids bzrlib/builtins.py > /dev/null is a pretty
|> good one.
|
| I measured this and it is about 30x slower.  So I'll put up a patch
| which makes the newer code conditional, and we probably need to do
| something beyond this.
|
|

That seems.... significant :)

I guess it shows that my optimizations really did help. I suppose if
"get_record_stream(include_delta_closure=True)" actually did return the
deltas along with the fulltexts, we probably would have most of what we
need to do efficient annotations.

Actually, this is something that will bite us pretty hard when we get to
something like an xdelta storage layer. As we will no longer have a way
to extract the deltas without recomputing it. (annotation caches...
yeah, yeah, yeah.)

Interestingly enough, in the latest xdelta3 code, there is a 'merge'
function, which allows you to take 2 deltas, and "merge" them into a
single delta. I think we were using the term "composition" for this. I
*don't* know if it is more efficient to composite the deltas and then
apply them, or to apply them one-by-one.

I think the idea for xdelta was that if you are deltaing a 3GB file, you
really didn't want to have to create 5 intermediate steps to update to
the latest. Which isn't where *we* would be focused.

It is also supposed to be a bit faster, having had some core bits tuned.

(Though I think I can still argue that the flexibility of the VCDIFF
format means that a parser has to have a certain amount of overhead.)

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

iEYEARECAAYFAkhs8tAACgkQJdeBCYSNAAPkiACfX00rVMFLoDd1yqEyxGPZLz4g
CtUAoI8TOkCEQeInD8nYlQJAmihbvoVf
=/EKO
-----END PGP SIGNATURE-----



More information about the bazaar mailing list