[RFC] [revlog] parent-delta

Benoit Boissinot benoit.boissinot at ens-lyon.org
Tue Sep 1 14:45:03 CDT 2009


On Tue, Sep 01, 2009 at 01:28:16PM -0500, Matt Mackall wrote:
> On Tue, 2009-09-01 at 11:10 +0200, Benoit Boissinot wrote:
> > On Tue, Sep 01, 2009 at 03:18:23AM -0500, Matt Mackall wrote:
> > > On Tue, 2009-09-01 at 09:15 +0200, Benoit Boissinot wrote:
> > > > 
> > > > Here are the results for more points:
> > 
> > [snip]
> > 
> > > > read factor:  7x:  327589135 bytes (312.4 MiB) /  85 full, 1716 tip, 156471 parents
> > > >
> > 
> > [snip]
> > 
> > Here are the number with an uncompressed read factor:
> > 2x:    428910879 bytes ( 409.0 MiB) / 174 full (22.60%), 2328 tip (50.75%), 155770 parents (26.65%)
> > 3x:    345716834 bytes ( 329.7 MiB) /  96 full (14.83%), 1831 tip (54.38%), 156345 parents (30.79%)
> > 4x:    302389423 bytes ( 288.4 MiB) /  65 full (11.36%), 1567 tip (54.88%), 156640 parents (33.76%)
> > 5x:    251344985 bytes ( 239.7 MiB) /  44 full ( 8.71%), 1191 tip (54.20%), 157037 parents (37.09%)
> > 6x:    241739756 bytes ( 230.5 MiB) /  36 full ( 7.31%), 1140 tip (55.13%), 157096 parents (37.56%)
> > 7x:    180704927 bytes ( 172.3 MiB) /  26 full ( 6.56%),  768 tip (49.83%), 157478 parents (43.61%)
> > 8x:    152532695 bytes ( 145.5 MiB) /  21 full ( 5.83%),  550 tip (44.56%), 157701 parents (49.61%)
> 
> Ok, that looks more like I'd expect. 
> 
> Seems the average tip delta is quite big. Looking at line 8x (about as
> large as I'd consider going for a default), we have:
> 
> full: 423460 bytes  (uncompressed is like 2M)
> tip delta: 123579 bytes
> parent delta: 480 bytes
> 
> At 26x (way too big for our purposes, but still interesting):
> 
> full: 388640 bytes
> tip: 39124
> parent: 390

For the record, with a topo-sorted revlog (it is missing 120 revs compared to
the previous measurement, I didn't want to regenerate the topo sort):

2x:  99652491 bytes (95.0 MiB) / 72 full (21.78%), 230 tip (12.24%), 157850 parents (65.99%)
3x:  84697344 bytes (80.8 MiB) / 42 full (14.10%), 153 tip (10.74%), 157957 parents (75.16%)
4x:  77569549 bytes (74.0 MiB) / 29 full (10.19%), 158 tip ( 8.24%), 157965 parents (81.56%)
5x:  75430368 bytes (71.9 MiB) / 22 full ( 7.84%), 110 tip ( 8.45%), 158020 parents (83.71%)
6x:  71924881 bytes (68.6 MiB) / 18 full ( 6.33%),  80 tip ( 6.48%), 158054 parents (87.19%)
7x:  70591222 bytes (67.3 MiB) / 15 full ( 5.63%),  66 tip ( 5.22%), 158071 parents (89.14%)
8x:  69031293 bytes (65.8 MiB) / 13 full ( 4.85%),  80 tip ( 5.21%), 158059 parents (89.94%)

So at 2x we have:
full: 301449
tip: 53032
parent: 417

and 8x:
full: 257540
tip: 44957
parent: 393

cheers,

Benoit
-- 
:wq


More information about the Mercurial-devel mailing list