[PACKS] status & todo list
Robert Collins
robertc at robertcollins.net
Mon Sep 17 02:22:09 BST 2007
So packs are working quite well. I'm hoping we can do a release in 0.92.
The minimum thing needed to have packs be a strict improvement on knits
is partial index reading support, which Keir is kindly working on.
I've been working on tuning performance for initial commit with packs; I
have the user time down to < 3 times the time of tar xzf of the same
files. (Concretely, it can do a hot-cache commit of mozilla in 1m27 user
time if annotations are disabled.)
However, there are a bunch of additional things that would be great to
do and noone is currently working on.
Disable or make optional annotations
------------------------------------
This could take many forms; using mpdiffs would do it though there seem
to be some caveats to address to switch to using them as primary
storage. A smaller incremental change would be to disable annotations in
the pack repository. This requires writing some code to allow
'knit.join(otherknit)' to work correctly when one knit is annotated and
the other is not.
A larger change, but one offering more flexability would be to bump the
knit hunk serialisation format so that any individual hunk can be
annotated or not.
A larger still change would be to do the code to store annotations
separately from the texts, which is probably the best approach.
Arbitrary parent deltas
-----------------------
Another change to make is to take advantage of the decoupled file-graph
and delta-parent indices to let content deltas be against any parent,
this leads into...
Recompressing pack
------------------
Current 'bzr pack' just gives a single pack for a repository. Theres
room for a lot of optimisations once a delta can be against any parent:
we could e.g. compress all GPL texts against each other cross-project,
for zero-size deltas, and start implementing the greater size savings we
know we can get.
-Rob
--
GPG key available at: <http://www.robertcollins.net/keys.txt>.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20070917/429fb5ae/attachment-0001.pgp
More information about the bazaar
mailing list