specs: speed up traversal by avoiding redundant canonicalization
This commit is contained in:
parent
bb60dbd2ad
commit
fd12cba18b
@ -1382,7 +1382,16 @@ def traverse_edges(self, visited=None, d=0, deptype='all',
|
||||
cover = kwargs.get('cover', 'nodes')
|
||||
direction = kwargs.get('direction', 'children')
|
||||
order = kwargs.get('order', 'pre')
|
||||
|
||||
# we don't want to run canonical_deptype every time through
|
||||
# traverse, because it is somewhat expensive. This ensures we
|
||||
# canonicalize only once.
|
||||
canonical_deptype = kwargs.get("canonical_deptype", None)
|
||||
if canonical_deptype is None:
|
||||
deptype = dp.canonical_deptype(deptype)
|
||||
kwargs["canonical_deptype"] = deptype
|
||||
else:
|
||||
deptype = canonical_deptype
|
||||
|
||||
# Make sure kwargs have legal values; raise ValueError if not.
|
||||
def validate(name, val, allowed_values):
|
||||
|
Loading…
Reference in New Issue
Block a user