Mercurial > hg
view tests/test-revlog-mmapindex.t @ 43255:b8d60845fa5d
copies: extract data extraction into a `revinfo` function
The function is build once at the beginning of the algorithm and used fetch
appropriate information for each revision.
This abstracts some implementation details from the main algorithm and will help
us to access the data more efficiently in future changesets.
Differential Revision: https://phab.mercurial-scm.org/D7070
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Wed, 02 Oct 2019 17:42:01 -0400 |
parents | 6ebe899b6551 |
children | 42d2b31cee0b |
line wrap: on
line source
create verbosemmap.py $ cat << EOF > verbosemmap.py > # extension to make util.mmapread verbose > > from __future__ import absolute_import > > from mercurial import ( > extensions, > pycompat, > util, > ) > > def extsetup(ui): > def mmapread(orig, fp): > ui.write(b"mmapping %s\n" % pycompat.bytestr(fp.name)) > ui.flush() > return orig(fp) > > extensions.wrapfunction(util, 'mmapread', mmapread) > EOF setting up base repo $ hg init a $ cd a $ touch a $ hg add a $ hg commit -qm base $ for i in `$TESTDIR/seq.py 1 100` ; do > echo $i > a > hg commit -qm $i > done set up verbosemmap extension $ cat << EOF >> $HGRCPATH > [extensions] > verbosemmap=$TESTTMP/verbosemmap.py > EOF mmap index which is now more than 4k long $ hg log -l 5 -T '{rev}\n' --config experimental.mmapindexthreshold=4k mmapping $TESTTMP/a/.hg/store/00changelog.i 100 99 98 97 96 do not mmap index which is still less than 32k $ hg log -l 5 -T '{rev}\n' --config experimental.mmapindexthreshold=32k 100 99 98 97 96 $ cd ..