Mercurial > hg
changeset 40786:74a9f428227e
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)
author | Boris Feld <boris.feld@octobus.net> |
---|---|
date | Fri, 23 Nov 2018 06:09:44 +0100 |
parents | 875d2af8cb4e |
children | 47e3f554df35 |
files | mercurial/configitems.py |
diffstat | 1 files changed, 1 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/configitems.py Fri Nov 23 06:07:33 2018 +0100 +++ b/mercurial/configitems.py Fri Nov 23 06:09:44 2018 +0100 @@ -976,7 +976,7 @@ default=False, ) coreconfigitem('storage', 'mmap-threshold', - default=None, + default='1MB', alias=[('experimental', 'mmapindexthreshold')], ) coreconfigitem('storage', 'new-repo-backend',