changeset 1251:46cec117dda2

maps.RevMap: disable GC while loading the revmap The revmap load process creates lots of tiny objects. With just the bare minimum Mercurial runtime, loading a million-file revmap goes from 6.83 seconds to 6.28. For longer running processes (e.g. hg push a series of changes) the difference will probably be dramatic.
author Siddharth Agarwal <sid0@fb.com>
date Sun, 02 Nov 2014 02:01:05 -0800
parents 05aea77371a3
children a321afbc3479
files hgsubversion/maps.py
diffstat 1 files changed, 1 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/hgsubversion/maps.py
+++ b/hgsubversion/maps.py
@@ -220,6 +220,7 @@ class RevMap(dict):
             raise hgutil.Abort('revmap too new -- please upgrade')
         return f
 
+    @util.gcdisable
     def _load(self):
         for l in self.readmapfile(self.meta.revmap_file):
             revnum, ha, branch = l.split(' ', 2)