slower performance of log and annotate in 1.6?

John Arbash Meinel john at arbash-meinel.com
Tue Aug 12 21:56:59 BST 2008


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

John Arbash Meinel wrote:
> Robert Collins wrote:
>> On Mon, 2008-08-11 at 20:52 -0500, John Arbash Meinel wrote:
> 
> 
>>> As I see it, the problem is that to find the per-file graph, you have to
>>> indirect through the inventory, as we no longer have a way to say "give
>>> me the graph of *this* file_id" because we don't have VersionedFile
>>> (singular). It was bad to use "VF.versions()" because it had to load the
>>> whole index, but we don't have an *entry-point* into the partial graph
>>> anymore.
>> Strictly speaking we do - we have iter_entries_prefix, and could use
>> that.
> 
>> I'd like to know how it performs under a btree index though.
> 
>> -Rob
> 
> We have that at the layer of index, not at the layer of VersionedFiles.
> It was the old KnitVersionedFile.versions() that thunked over to
> iter_entries_prefix (which I think triggered a _buffer_all).
> 
> I'll try to benchmark a btree version tomorrow.
> 
> John
> =:->
> 

So, on a different "optimally unpacked" repository:

$ time bzr.dev log >/dev/null
real    0m43.118s
$ time bzr1.3 log >/dev/null
real    0m35.522s
$ time bzr-btree log >/dev/null
real    0m31.200s
$ time bzr-btree-bloom log >/dev/null
real    0m31.090s


$ time bzr.dev log file >/dev/null
real    2m35.027s
$ time bzr1.3 log file > /dev/null
real    0m38.095s
$ time bzr-btree log file >/dev/null
real    0m13.120s
$ time bzr-btree-bloom log file >/dev/null
real    0m13.354s


A couple very interesting bits

1) Massive regression for 'bzr.dev log file' with --pack-0.92. From 38s
in bzr1.3 to 2m35s in bzr.dev. Or about 4x slower.

2) blooms do pretty much nothing

3) btree log file is 3x faster than bzr 1.3. Or 12x faster than bzr.dev
if you want to use a different comparison point.

4) btree log is slightly faster than 1.3 at showing the complete log.
(Perhaps the bottleneck is just extracting XML for display?)

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

iEYEARECAAYFAkih+RsACgkQJdeBCYSNAAOppwCdGCBUwM4hdyvlsfObiEA74UrU
ZL4AnjMA3c/FkiJEscxLYnzPcJ727fpz
=xsGd
-----END PGP SIGNATURE-----



More information about the bazaar mailing list