# HG changeset patch # User Durham Goode # Date 2013-11-12 00:35:12 # Node ID f8737bce736a6e8171ec955734aa6a19b8def074 # Parent 5fc2ae1c631b94ea83b2fe078c8acfea5aa55fbf 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. diff --git a/mercurial/manifest.py b/mercurial/manifest.py --- a/mercurial/manifest.py +++ b/mercurial/manifest.py @@ -30,8 +30,9 @@ class manifestdict(dict): 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):