changeset 27465:072a675c51f2

revlog: make clearcaches() more effective clearcaches() was added several years ago in e8d37b78acfb as part of implementing a perf command. Since revlog instances have many caches and since the spirit of this mostly unused method is to facilitate performance testing, I think it's appropriate for all the revlog's caches to get cleared when it is called.
author Gregory Szorc <gregory.szorc@gmail.com>
date Sun, 20 Dec 2015 17:48:20 -0800
parents c39ecb2b86b3
children f888676a23d0
files mercurial/revlog.py
diffstat 1 files changed, 5 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/revlog.py	Mon Dec 21 22:31:16 2015 +0900
+++ b/mercurial/revlog.py	Sun Dec 20 17:48:20 2015 -0800
@@ -339,6 +339,11 @@
             return False
 
     def clearcaches(self):
+        self._cache = None
+        self._basecache = None
+        self._chunkcache = (0, '')
+        self._pcache = {}
+
         try:
             self._nodecache.clearcaches()
         except AttributeError: