tests/test-revlog-mmapindex.t
changeset 34296 3c9691728237
child 34446 b0c97e44576f
equal deleted inserted replaced
34295:3bb2a9f25fe9 34296:3c9691728237
       
     1 create verbosemmap.py
       
     2   $ cat << EOF > verbosemmap.py
       
     3   > # extension to make util.mmapread verbose
       
     4   > 
       
     5   > from __future__ import absolute_import
       
     6   > 
       
     7   > from mercurial import (
       
     8   >     extensions,
       
     9   >     util,
       
    10   > )
       
    11   > 
       
    12   > def mmapread(orig, fp):
       
    13   >     print "mmapping %s" % fp.name
       
    14   >     return orig(fp)
       
    15   > 
       
    16   > def extsetup(ui):
       
    17   >     extensions.wrapfunction(util, 'mmapread', mmapread)
       
    18   > EOF
       
    19 
       
    20 setting up base repo
       
    21   $ hg init a
       
    22   $ cd a
       
    23   $ touch a
       
    24   $ hg add a
       
    25   $ hg commit -qm base
       
    26   $ for i in `$TESTDIR/seq.py 1 100` ; do
       
    27   > echo $i > a
       
    28   > hg commit -qm $i
       
    29   > done
       
    30 
       
    31 set up verbosemmap extension
       
    32   $ cat << EOF >> $HGRCPATH
       
    33   > [extensions]
       
    34   > verbosemmap=$TESTTMP/verbosemmap.py
       
    35   > EOF
       
    36 
       
    37 mmap index which is now more than 4k long
       
    38   $ hg log -l 5 -T '{rev}\n' --config experimental.mmapindexthreshold=4k
       
    39   mmapping $TESTTMP/a/.hg/store/00changelog.i (glob)
       
    40   100
       
    41   99
       
    42   98
       
    43   97
       
    44   96
       
    45 
       
    46 do not mmap index which is still less than 32k
       
    47   $ hg log -l 5 -T '{rev}\n' --config experimental.mmapindexthreshold=32k
       
    48   100
       
    49   99
       
    50   98
       
    51   97
       
    52   96
       
    53 
       
    54   $ cd ..