[PATCH 00 of 15 RFC] verify: partial verification to detect repository corruption immediately

FUJIWARA Katsunori foozy at lares.dti.ne.jp
Fri Oct 5 05:14:59 CDT 2012


At Thu, 04 Oct 2012 10:45:31 +0200,
Laurens Holst wrote:
> 
> Hi Fujiwara,
> 
> Op 03-10-12 18:38, FUJIWARA Katsunori schreef:
> > But fully verification costs a lot.
> >
> > So, I tried to achieve partial verification: verification only for
> > specified revisions and entries in manifest/filelogs related to them.
> >
> > This patch series is RFC to introducing partial verification and
> > verification just after commit/addgroup transaction.
> 
> Do you have some performance numbers? E.g. commit running time with 
> full, partial and no verification on varying repository sizes and 
> (changeset) file counts...
> 
> ~Laurens

I can show just casual performance measurements in conditions below:

    - use Mercurial patched on fa714f3ed298

    - each of commit target files are specified with "path:" prefix to
      avoid unexpected directory scanning

    - on 64bit Windows7, memory 16GB (always about 9GB are available)

    - repositories are on NTFS/HDD

Averages of the best 15 of 20 "hg commit --time" invocation are:

- repository #1:

  revision: 13756
  manifest: recent 43950, all 64620

    - # of committed files: 44 (0.1% of recent manifest)

      none:      1.97 sec
      partial:   2.06 sec (+ 5%)
      full:    over 130 sec

    - # of committed files: 440 (1% of recent manifest)

      none:      5.02 sec
      partial:   5.93 sec (+ 18%)

- repository #2:

  revision: 17698
  manifest: recent 996, all 2168

    - # of committed files: 10 (1% of recent manifest)

      none:      0.34 sec
      partial:   0.40 sec (+ 18%)
      full:     18.63 sec

    - # of committed files: 100 (10% of recent manifest)

      none:      1.37 sec
      partial:   1.73 sec (+ 26%)
      full:     19.72 sec

----------------------------------------------------------------------
[FUJIWARA Katsunori]                             foozy at lares.dti.ne.jp


More information about the Mercurial-devel mailing list