# HG changeset patch # User Pulkit Goyal # Date 1549888868 -10800 # Node ID 9d0d8793e847b444514cb2ad7b563c53a1887605 # Parent bfc49f1df61523c21cdd1eb47efafb54bb4b2797 branchmap: decode a label only once This moves decoding of a label out of for loop. Minor speed up expected in cases when one branch has multiple heads. For example: someone using bookmarks as branches and hence ending up with multiple heads on default branch. Differential Revision: https://phab.mercurial-scm.org/D5932 diff -r bfc49f1df615 -r 9d0d8793e847 mercurial/branchmap.py --- a/mercurial/branchmap.py Mon Feb 11 15:34:35 2019 +0300 +++ b/mercurial/branchmap.py Mon Feb 11 15:41:08 2019 +0300 @@ -280,14 +280,14 @@ f.write(" ".join(cachekey) + '\n') nodecount = 0 for label, nodes in sorted(self.iteritems()): + label = encoding.fromlocal(label) for node in nodes: nodecount += 1 if node in self._closednodes: state = 'c' else: state = 'o' - f.write("%s %s %s\n" % (hex(node), state, - encoding.fromlocal(label))) + f.write("%s %s %s\n" % (hex(node), state, label)) f.close() repo.ui.log('branchcache', 'wrote %s branch cache with %d labels and %d nodes\n',