[RFC] Cheap re-pack?

Robert Collins robertc at robertcollins.net
Fri Sep 7 01:16:53 BST 2007


On Thu, 2007-09-06 at 19:55 -0400, Aaron Bentley wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> John Arbash Meinel wrote:
> > Aaron Bentley wrote:
> > Well, AIUI, at the moment packs store exactly the same data as knits. Just
> > rearranged differently in the files.
> 
> I knew they worked like that initially, but I thought that was just a
> temporary first step.  Are we planning to release them this way?

I'd like to do *a* release of packs in 0.92. It doesn't have to be the
default, but its so much better that I don't see any reason not to
release a version as an incremental improvement.

Things that are done:
 - better disk layout to reduce network latency (read - 20% slower than
rsync on 300ms links)
 - faster fetch by not spidering all history of every altered file
during fetch.
 - faster commit by using the revision graph to determine last-modified
field on merges.

Things that are not done, in roughly priority order:
 - incremental index reading
 - faster commit by not processing annotations (need to write
annotated->unannotated fetching, and vice verca)
 - Optional annotation cache, decoupled from text storage.
 - Fix inventory scaling by splitting them in some form.
 - Faster commit by better delta logic - e.g. mpdiff/xdelta/blob rather
than lines ??? [still not tied down to a decision]
 - Possibly commit-by-recording-fulltexts, for even more wins (but this
is complex - network commits will want deltas. So we need knobs or real
smart heuristics).
 - Faster lightweight checkout by overriding the new text access api.


... your itch here.

Basically, packs are a net win to date because they scale the number of
disk operations required for many bzr operations better than linear with
both time and versioned objects unlike knits that scale linearly with
versioned objects, and (for index round trips only - not data) constant
with time.

-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/20070907/8fe84617/attachment.pgp 


More information about the bazaar mailing list