D7360: perf: make `perfrevlogindex` use the new `index.rev` api if available
marmoute (Pierre-Yves David)
phabricator at mercurial-scm.org
Sat Nov 9 11:01:50 EST 2019
Closed by commit rHG4e989b24da69: perf: make `perfrevlogindex` use the new `index.rev` api if available (authored by marmoute).
This revision was automatically updated to reflect the committed changes.
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D7360?vs=17861&id=17909
CHANGES SINCE LAST ACTION
https://phab.mercurial-scm.org/D7360/new/
REVISION DETAIL
https://phab.mercurial-scm.org/D7360
AFFECTED FILES
contrib/perf.py
CHANGE DETAILS
diff --git a/contrib/perf.py b/contrib/perf.py
--- a/contrib/perf.py
+++ b/contrib/perf.py
@@ -2599,25 +2599,38 @@
index[rev]
def resolvenode(node):
- nodemap = getattr(revlogio.parseindex(data, inline)[0], 'nodemap', None)
- # This only works for the C code.
- if nodemap is None:
- return
+ index = revlogio.parseindex(data, inline)[0]
+ rev = getattr(index, 'rev', None)
+ if rev is None:
+ nodemap = getattr(
+ revlogio.parseindex(data, inline)[0], 'nodemap', None
+ )
+ # This only works for the C code.
+ if nodemap is None:
+ return
+ rev = nodemap.__getitem__
try:
- nodemap[node]
+ rev(node)
except error.RevlogError:
pass
def resolvenodes(nodes, count=1):
- nodemap = getattr(revlogio.parseindex(data, inline)[0], 'nodemap', None)
- if nodemap is None:
- return
+ index = revlogio.parseindex(data, inline)[0]
+ rev = getattr(index, 'rev', None)
+ if rev is None:
+ nodemap = getattr(
+ revlogio.parseindex(data, inline)[0], 'nodemap', None
+ )
+ # This only works for the C code.
+ if nodemap is None:
+ return
+ rev = nodemap.__getitem__
for i in range(count):
for node in nodes:
try:
- nodemap[node]
+ rev(node)
except error.RevlogError:
pass
To: marmoute, #hg-reviewers, indygreg
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list