3 Oct 23:17
Releasing a non-dev version of btree repo
From: John Arbash Meinel <john <at> arbash-meinel.com>
Subject: Releasing a non-dev version of btree repo
Newsgroups: gmane.comp.version-control.bazaar-ng.general
Date: 2008-10-03 21:19:53 GMT
Subject: Releasing a non-dev version of btree repo
Newsgroups: gmane.comp.version-control.bazaar-ng.general
Date: 2008-10-03 21:19:53 GMT
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' time source 1m10s pack-0.92 0m15s development2 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 format. John =:->
RSS Feed