Skip to content
Snippets Groups Projects
Commit 49a76d3d authored by Pierre-Yves David's avatar Pierre-Yves David
Browse files

repoview: stop recomputing cached key in all case

As explained in the comment, we were computing the key of the cache value every
time because of some obscure MQ test failure. I've dropped that code and ran the
test again that failure is gone. I assume some transaction cleanup got rid of
it.

So we are dropping that code. This provide a significant speedup.

Testing `hg log` on Mozilla-central this reduce the time spent on changelog
cache validation by a third:

before: 19.5s of 80s
after:  12.2s of 69s

(With stupid python profiler overhead)
parent 45124eaa
No related branches found
No related tags found
No related merge requests found
......@@ -305,16 +305,7 @@
newkey = (len(unfichangelog), unfichangelog.tip(), hash(revs),
unfichangelog._delayed)
if cl is not None:
# we need to check curkey too for some obscure reason.
# MQ test show a corruption of the underlying repo (in _clcache)
# without change in the cachekey.
oldfilter = cl.filteredrevs
try:
cl.filteredrevs = () # disable filtering for tip
curkey = (len(cl), cl.tip(), hash(oldfilter), cl._delayed)
finally:
cl.filteredrevs = oldfilter
if newkey != self._clcachekey or newkey != curkey:
if newkey != self._clcachekey:
cl = None
# could have been made None by the previous if
if cl is None:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment