# HG changeset patch # User Boris Feld # Date 2018-11-23 05:09:44 # Node ID 74a9f428227ec4989f36846ef5c42ee46e32d96f # Parent 875d2af8cb4e79d9118f1ce457f354d6467bc628 mmapindex: set default to 1MB mmapping index is more efficient if we only need a small part of it. The 1MB value has been picked arbitrarily, a lower value might be better. On a large repository with a 60MB index, we see the following performance gain: hg perfindex before: ! wall 0.032023 comb 0.040000 user 0.000000 sys 0.040000 (best of 100) after: ! wall 0.000196 comb 0.000000 user 0.000000 sys 0.000000 (best of 1060) The speed boost benefit all cases, including the one where the full index needs to be parsed. hg perfindex --rev 0 before: ! wall 0.040673 comb 0.030000 user 0.000000 sys 0.030000 (best of 100) after ! wall 0.010713 comb 0.020000 user 0.010000 sys 0.010000 (best of 212) This gain reflect in higher level operation: hg perfbookmarks --clear-revlogs before: ! wall 0.161339 comb 0.160000 user 0.130000 sys 0.030000 (best of 56) after: ! wall 0.123228 comb 0.120000 user 0.120000 sys 0.000000 (best of 68) diff --git a/mercurial/configitems.py b/mercurial/configitems.py --- a/mercurial/configitems.py +++ b/mercurial/configitems.py @@ -976,7 +976,7 @@ coreconfigitem('push', 'pushvars.server' default=False, ) coreconfigitem('storage', 'mmap-threshold', - default=None, + default='1MB', alias=[('experimental', 'mmapindexthreshold')], ) coreconfigitem('storage', 'new-repo-backend',