Mercurial > hg
comparison mercurial/revlog.py @ 44310:daad3aace942
nodemap: only use persistent nodemap for non-inlined revlog
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.
Differential Revision: https://phab.mercurial-scm.org/D7837
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Wed, 15 Jan 2020 15:47:40 +0100 |
parents | 5962fd0d1045 |
children | 6f9e8e142cea |
comparison
equal
deleted
inserted
replaced
44309:6c07480d6659 | 44310:daad3aace942 |
---|---|
1963 | 1963 |
1964 # the temp file replace the real index when we exit the context | 1964 # the temp file replace the real index when we exit the context |
1965 # manager | 1965 # manager |
1966 | 1966 |
1967 tr.replace(self.indexfile, trindex * self._io.size) | 1967 tr.replace(self.indexfile, trindex * self._io.size) |
1968 nodemaputil.setup_persistent_nodemap(tr, self) | |
1968 self._chunkclear() | 1969 self._chunkclear() |
1969 | 1970 |
1970 def _nodeduplicatecallback(self, transaction, node): | 1971 def _nodeduplicatecallback(self, transaction, node): |
1971 """called when trying to add a node already stored. | 1972 """called when trying to add a node already stored. |
1972 """ | 1973 """ |