marmoute created this revision. Herald added a reviewer: indygreg. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers.
REVISION SUMMARY Revlog are inlined while they are small (to avoid having too many file to deal with). The persistent nodemap will only provides a significant boost for large enough revlog index. So it does not make sens to add an extra file to store nodemap for small revlog. We could consider inclining the nodemap data inside the revlog itself, but the benefit is unclear so let it be an adventure for another time. REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D7837 AFFECTED FILES mercurial/revlog.py mercurial/revlogutils/nodemap.py CHANGE DETAILS diff --git a/mercurial/revlogutils/nodemap.py b/mercurial/revlogutils/nodemap.py --- a/mercurial/revlogutils/nodemap.py +++ b/mercurial/revlogutils/nodemap.py @@ -29,6 +29,8 @@ def setup_persistent_nodemap(tr, revlog): + if revlog._inline: + return # inlined revlog are too small for this to be relevant if revlog.nodemap_file is None: return # we do not use persistent_nodemap on this revlog callback_id = b"revlog-persistent-nodemap-%s" % revlog.nodemap_file diff --git a/mercurial/revlog.py b/mercurial/revlog.py --- a/mercurial/revlog.py +++ b/mercurial/revlog.py @@ -1965,6 +1965,7 @@ # manager tr.replace(self.indexfile, trindex * self._io.size) + nodemaputil.setup_persistent_nodemap(tr, self) self._chunkclear() def _nodeduplicatecallback(self, transaction, node): To: marmoute, indygreg, #hg-reviewers Cc: mercurial-devel _______________________________________________ Mercurial-devel mailing list [email protected] https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel
