Compressing weaved revisions?
John A Meinel
john at arbash-meinel.com
Thu Oct 6 18:26:11 BST 2005
James Blackwell wrote:
> On Fri, Sep 30, 2005 at 10:04:41AM -0400, Aaron Bentley wrote:
>
>>For trees with, e.g. 500 revisions, the revision storage may actually be
>>larger than tree storage.
>
>
> I converted the Bazaar-NG tree to newformat. I got a ratio of about 7:1,
> which is much better than the old 29:1, but not as good as Mercurial's
> 2.5:1.
>
Are you using --apparent, and are you considering just revision-store or
all of .bzr?
These are the numbers I get:
$ du -ksh .bzr
15M .bzr
$ du -ksh --apparent .bzr
7.2M .bzr
$ du -ksh .bzr/revision-store/
7.5M .bzr/revision-store/
$ du -ksh --apparent .bzr/revision-store/
973K .bzr/revision-store/
$ du -kshc *
...
2.9M total
$ du -kshc --apparent *
2.2M total
So .bzr vs working is 5:1 (3.2:1 apparent)
.bzr/everything-else vs .bzr/revision-store is 1:1 (7:1 apparent)
With my revstore2sql plugin, if I trim out all the inventory stuff, I
can get a revisions.sqlite down to 561K, it gets compression mostly by
not duplicating the revision_id everywhere (switching to just a number).
It loses some by having indexes, but in theory that would make access
very fast.
I don't know if we would want to use an sqlite store for everything,
since there isn't a way to remotely access it, or download only part of
it. But it is small, and you could download it locally and then upload it.
If I pack all of the inventory into the sqlite db, then the size goes up
to 9.4M, but 8.1M of that is because I don't do any delta compression of
inventories (so each revision has a complete list of inventory entries).
(though this is better than the old 24M version).
But, I can get any inventory out of it in about 0.05s, whereas on this
machine branch.get_inventory() takes 1.2s. (That is with bzrlib already
loaded)
John
=:->
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 253 bytes
Desc: OpenPGP digital signature
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20051006/faf8762f/attachment.pgp
More information about the bazaar
mailing list