diff --git a/mercurial/obsolete.py b/mercurial/obsolete.py --- a/mercurial/obsolete.py +++ b/mercurial/obsolete.py @@ -899,11 +899,12 @@ Such access may compute the set and cache it for future use""" repo = repo.unfiltered() - if not repo.obsstore: - return frozenset() - if name not in repo.obsstore.caches: - repo.obsstore.caches[name] = cachefuncs[name](repo) - return repo.obsstore.caches[name] + with util.timedcm('getrevs %s', name): + if not repo.obsstore: + return frozenset() + if name not in repo.obsstore.caches: + repo.obsstore.caches[name] = cachefuncs[name](repo) + return repo.obsstore.caches[name] # To be simple we need to invalidate obsolescence cache when: diff --git a/mercurial/repoview.py b/mercurial/repoview.py --- a/mercurial/repoview.py +++ b/mercurial/repoview.py @@ -274,8 +274,8 @@ unfiindex = unfichangelog.index unfilen = len(unfiindex) unfinode = unfiindex[unfilen - 1][7] - - revs = filterrevs(unfi, self.filtername, self._visibilityexceptions) + with util.timedcm('repo filter for %s', self.filtername): + revs = filterrevs(unfi, self.filtername, self._visibilityexceptions) cl = self._clcache newkey = (unfilen, unfinode, hash(revs), unfichangelog._delayed) # if cl.index is not unfiindex, unfi.changelog would be