comparison mercurial/context.py @ 27063:37e1fdcb271c

context: optimize _parents() This patch avoids some extra attribute lookups and list mutations. This micro-optimization seems to result in a minor speedup for `hg log` on my Firefox repo: before: 25.35s after: 24.91s delta: -0.44s (98% of original) Not the biggest gain. But every little bit helps.
author Gregory Szorc <gregory.szorc@gmail.com>
date Sat, 21 Nov 2015 19:04:12 -0800
parents 448cbdab5883
children a29db426c5ba
comparison
equal deleted inserted replaced
27062:e4f2e4f5e98d 27063:37e1fdcb271c
509 def _manifestdelta(self): 509 def _manifestdelta(self):
510 return self._repo.manifest.readdelta(self._changeset[0]) 510 return self._repo.manifest.readdelta(self._changeset[0])
511 511
512 @propertycache 512 @propertycache
513 def _parents(self): 513 def _parents(self):
514 p = self._repo.changelog.parentrevs(self._rev) 514 repo = self._repo
515 if p[1] == nullrev: 515 p1, p2 = repo.changelog.parentrevs(self._rev)
516 p = p[:-1] 516 if p2 == nullrev:
517 return [changectx(self._repo, x) for x in p] 517 return [changectx(repo, p1)]
518 return [changectx(repo, p1), changectx(repo, p2)]
518 519
519 def changeset(self): 520 def changeset(self):
520 return self._changeset 521 return self._changeset
521 def manifestnode(self): 522 def manifestnode(self):
522 return self._changeset[0] 523 return self._changeset[0]