Releasing a non-dev version of btree repo
John Arbash Meinel
john at arbash-meinel.com
Fri Oct 3 22:19:53 BST 2008
-----BEGIN PGP SIGNED MESSAGE-----
I've been doing some index profiling, and I believe that releasing a
repository with the only update being BTree indexes is a significant win.
For testing, I went ahead and created an exact copy of the bzr.dev
repository in people.ubuntu.com/~jameinel, which has similar latency and
bandwidth for me versus the main repository.
I have a snapshot of a repository which I then update to the latest tip.
This is going from 25544 revision to 25552, so only 8 new revisions.
'time bzr up'
or about 4.6 times faster. As another point, the size of the indexes are
9.6MB in bzr.dev but only 4.7MB with btree (and if we enable max
compression, it goes all the way down to 3.7MB).
At 160kB/s (my bandwidth), it takes 24s to download 3.7MB, or 61s to
download the 9.6MB of GI indexes.
This shows a few things... We are likely downloading 90% of GI indices,
because the search is sub-optimal. But we can't be downloading all of
the 4.7MB indexes because that would still be more than 15s.
I've been playing around with changing the logic to "expand" requests
(similar to how we do for GraphIndex calls.) So far, at least for 'bzr
log --short -r X..Y', it is actually better to *not* expand.
Anyway, I think BTreeIndex actually provides a significant benefit all
by itself. So there is no real reason not to release it as a supported
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
-----END PGP SIGNATURE-----
More information about the bazaar