Differences between revisions 1 and 2
Revision 1 as of 2010-02-09 17:47:42
Size: 1043
Editor: WagnerBruna
Comment:
Revision 2 as of 2010-02-09 17:50:38
Size: 1254
Editor: WagnerBruna
Comment: adds disclaimer about the patch queue
Deletions are marked like this. Additions are marked like this.
Line 18: Line 18:
<!> The code currently doesn't properly sets and checks the requires file, and the changes on revlog chunks take effect immediately on any new revisions: take care when running this on existing repositories!

Compressing revlog delta chunks reusing the zlib stream

Current revlog format compresses delta chunks separately from each other. The idea is to use the same compression object for a snapshot chunk and its delta chunks, simply sync-flushing the zlib stream for each chunk.

Test results

Mercurial crew (http://hg.intevation.org/mercurial/crew) - 10395 revisions

total size (kb)

relative size
(plain == 1)

00manifest.d size

00manifest.d relative size
(plain == 1)

plain

25708

1.00

8632k

1.00

zlibstream applied

18400

0.72

4104

0.48

plain,
shrinked manifest

21740

0.85

4668

0.54

zlibstream applied,
shrinked manifest

16856

0.66

2560

0.30

Patch queue

<!> The code currently doesn't properly sets and checks the requires file, and the changes on revlog chunks take effect immediately on any new revisions: take care when running this on existing repositories!

http://bitbucket.org/wbruna/hg-zlibstream/

Mailing list threads

http://www.selenic.com/pipermail/mercurial-devel/2010-February/018564.html

RevlogSyncFlushProposal (last edited 2012-11-06 23:07:49 by abuehl)