Call for testing: generaldelta
Matt Mackall
mpm at selenic.com
Mon Aug 1 17:02:00 UTC 2011
On Sun, 2011-07-31 at 13:51 +0200, Isaac Jurado wrote:
> I tried with mozilla-central repository. The Mercurial version I'm
> using is 1.9-1 from Debian Sid (amd64).
>
> http://hg.mozilla.org/mozilla-central/
Is this repo already using shrink-revlog?
> $ du -sh mc-normal mc-gdelta
> 722M mc-normal
> 677M mc-gdelta
>
> $ ls -l mc-normal/.hg/store/00manifest.*
> -rw-r----- 1 etanol etanol 189246860 jul 31 12:52
> mc-normal/.hg/store/00manifest.d
> -rw-r----- 1 etanol etanol 4706112 jul 31 12:52
> mc-normal/.hg/store/00manifest.i
> $ ls -l mc-gdelta/.hg/store/00manifest.*
> -rw-r----- 1 etanol etanol 143466428 jul 31 12:52
> mc-gdelta/.hg/store/00manifest.d
> -rw-r----- 1 etanol etanol 4706112 jul 31 12:52
> mc-gdelta/.hg/store/00manifest.i
>
> $ hg -R mc-gdelta debugrevlog -m
> format : 1
> flags : generaldelta
>
> revisions : 73533
> merges : 3772 ( 5.13%)
> normal : 69761 (94.87%)
> revisions : 73533
> full : 224 ( 0.30%)
> deltas : 73309 (99.70%)
> revision size : 143466428
> full : 3586647 ( 2.50%)
> deltas : 139879781 (97.50%)
>
> avg chain length : 2625
> compression ratio : 1611
>
> uncompressed data size (min/max/avg) : 51 / 4529536 / 3143207
> full revision size (min/max/avg) : 52 / 1225650 / 16011
> delta size (min/max/avg) : 0 / 1610515 / 1908
>
> deltas against prev : 68630 (93.62%)
> where prev = p1 : 68381 (99.64%)
> where prev = p2 : 82 ( 0.12%)
> other : 167 ( 0.24%)
> deltas against p1 : 4678 ( 6.38%)
> deltas against p2 : 1 ( 0.00%)
> deltas against other : 0 ( 0.00%)
>
> $ hg clone --time -U --pull mc-normal mc-normal-normal
> requesting all changes
> adding changesets
> adding manifests
> adding file changes
> added 73553 changesets with 337061 changes to 77253 files (+7 heads)
> Time: real 304.600 secs (user 259.700+0.000 sys 11.960+0.000)
>
> $ hg clone --time -U --pull mc-gdelta mc-gdelta-normal
> requesting all changes
> adding changesets
> adding manifests
> adding file changes
> added 73553 changesets with 337061 changes to 77253 files (+7 heads)
> Time: real 657.040 secs (user 605.970+0.000 sys 14.410+0.000)
>
> $ hg clone --time -U --pull --config format.generaldelta=1 mc-gdelta
> mc-gdelta-gdelta
> requesting all changes
> adding changesets
> adding manifests
> adding file changes
> added 73553 changesets with 337061 changes to 77253 files (+7 heads)
> Time: real 996.090 secs (user 960.160+0.000 sys 16.160+0.000)
Ouch. This shouldn't be that slow. But I guess it's still reordering.
Can you see if a gdelta clone of mc-gdelta-gdelta is fast again?
> $ du -sh mc-normal-normal mc-gdelta-normal mc-gdelta-gdelta
> 722M mc-normal-normal
> 636M mc-gdelta-normal
> 612M mc-gdelta-gdelta
>
> As a side note, I removed the undo files in .hg/store after each clone
> because it was adding 4.2M to the repository size. Next week I'll
> try to change the window size.
>
> Cheers.
>
--
Mathematics is the supreme nostalgia of our time.
More information about the Mercurial
mailing list