manifest: increase lrucache from 3 to 4
authorDurham Goode <durham@fb.com>
Mon, 11 Nov 2013 16:35:12 -0800
changeset 20075 f8737bce736a
parent 20074 5fc2ae1c631b
child 20077 986d09e696ff
manifest: increase lrucache from 3 to 4 During a commit amend there are 4 manifests being handled: - original commit - temporary commit - amended commit - merge base This causes a manifest cache miss which hurts perf on large repos. On a large repo, this fix causes amend to go from 6 seconds to 5.5 seconds.
mercurial/manifest.py
--- a/mercurial/manifest.py	Mon Nov 11 16:42:49 2013 -0800
+++ b/mercurial/manifest.py	Mon Nov 11 16:35:12 2013 -0800
@@ -30,8 +30,9 @@
 
 class manifest(revlog.revlog):
     def __init__(self, opener):
-        # we expect to deal with not more than three revs at a time in merge
-        self._mancache = util.lrucachedict(3)
+        # we expect to deal with not more than four revs at a time,
+        # during a commit --amend
+        self._mancache = util.lrucachedict(4)
         revlog.revlog.__init__(self, opener, "00manifest.i")
 
     def parse(self, lines):