# HG changeset patch # User Pierre-Yves David # Date 1513795639 -3600 # Node ID a67a586792dc25b2a72062090c7db42855574be4 # Parent c056f125e17db9731ae685c452ed566e1c890702 stablerange: use cached size data instead of walking the graph Less iteration is better. diff -r c056f125e17d -r a67a586792dc hgext3rd/evolve/stablerange.py --- a/hgext3rd/evolve/stablerange.py Wed Dec 20 17:56:38 2017 +0100 +++ b/hgext3rd/evolve/stablerange.py Wed Dec 20 19:47:19 2017 +0100 @@ -486,12 +486,12 @@ while 0 < skips: jumphead = jumpdest currentjump = next(jumps) - skipped = size = until(jumphead, currentjump[0]) + skipped = size = currentjump[2] jumpdest = currentjump[1] if size == skips: jumphead = jumpdest mainjump = next(jumps) - mainsize = until(jumphead, mainjump[0]) + mainsize = mainjump[2] elif skips < size: revs = walkfrom(jumphead) next(revs) @@ -535,7 +535,7 @@ size += mainsize jumphead = mainjump[1] mainjump = next(jumps, None) - mainsize = until(jumphead, mainjump[0]) + mainsize = mainjump[2] ref = next(refjumps, None) if ref is None: # we are doing with section specific to the last merge @@ -552,7 +552,7 @@ size = 0 jumphead = rangehead = mainjump[1] mainjump = next(jumps, None) - mainsize = until(jumphead, mainjump[0]) + mainsize = mainjump[2] refjumps = None if tomap: