comparison mercurial/revlog.py @ 7363:9d28ff207030

revlog: speed up parents()
author Matt Mackall <mpm@selenic.com>
date Wed, 12 Nov 2008 15:58:46 -0600
parents 6db4a2ccef3a
children ec3aafa84d44
comparison
equal deleted inserted replaced
7362:6db4a2ccef3a 7363:9d28ff207030
501 def node(self, rev): 501 def node(self, rev):
502 return self.index[rev][7] 502 return self.index[rev][7]
503 def linkrev(self, rev): 503 def linkrev(self, rev):
504 return self.index[rev][4] 504 return self.index[rev][4]
505 def parents(self, node): 505 def parents(self, node):
506 d = self.index[self.rev(node)][5:7] 506 i = self.index
507 return (self.node(d[0]), self.node(d[1])) 507 d = i[self.rev(node)]
508 return i[d[5]][7], i[d[6]][7] # map revisions to nodes inline
508 def parentrevs(self, rev): 509 def parentrevs(self, rev):
509 return self.index[rev][5:7] 510 return self.index[rev][5:7]
510 def start(self, rev): 511 def start(self, rev):
511 return int(self.index[rev][0] >> 16) 512 return int(self.index[rev][0] >> 16)
512 def end(self, rev): 513 def end(self, rev):