##// END OF EJS Templates
lazyindex: speed up __getitem__...
Matt Mackall -
r4993:4205f626 default
parent child Browse files
Show More
@@ -236,18 +236,16 b' class lazyindex(object):'
236 self.p.loadindex(pos)
236 self.p.loadindex(pos)
237 return self.p.index[pos]
237 return self.p.index[pos]
238 def __getitem__(self, pos):
238 def __getitem__(self, pos):
239 ret = self.p.index[pos] or self.load(pos)
239 return struct.unpack(indexformatng,
240 if isinstance(ret, str):
240 self.p.index[pos] or self.load(pos))
241 ret = struct.unpack(indexformatng, ret)
242 return ret
243 def __setitem__(self, pos, item):
241 def __setitem__(self, pos, item):
244 self.p.index[pos] = item
242 self.p.index[pos] = struct.pack(indexformatng, *item)
245 def __delitem__(self, pos):
243 def __delitem__(self, pos):
246 del self.p.index[pos]
244 del self.p.index[pos]
247 def insert(self, pos, e):
245 def insert(self, pos, e):
248 self.p.index.insert(pos, e)
246 self.p.index.insert(pos, struct.pack(indexformatng, *e))
249 def append(self, e):
247 def append(self, e):
250 self.p.index.append(e)
248 self.p.index.append(struct.pack(indexformatng, *e))
251
249
252 class lazymap(object):
250 class lazymap(object):
253 """a lazy version of the node map"""
251 """a lazy version of the node map"""
General Comments 0
You need to be logged in to leave comments. Login now