comparison mercurial/store.py @ 17604:bf9894889d82

store: optimize fncache._load a bit by dirdecoding the contents in one go For a netbeans clone on Windows 7 x64: Before: $ hg perffncacheload ! wall 0.124000 comb 0.124801 user 0.124801 sys 0.000000 (best of 76) After: $ hg perffncacheload ! wall 0.096000 comb 0.093601 user 0.078001 sys 0.015600 (best of 97)
author Adrian Buehlmann <adrian@cadifra.com>
date Mon, 17 Sep 2012 11:00:38 +0200
parents 64c6a0d4d4bd
children e9cc29be3305
comparison
equal deleted inserted replaced
17603:a7fa5bd1c914 17604:bf9894889d82
334 fp = self.opener('fncache', mode='rb') 334 fp = self.opener('fncache', mode='rb')
335 except IOError: 335 except IOError:
336 # skip nonexistent file 336 # skip nonexistent file
337 self.entries = set() 337 self.entries = set()
338 return 338 return
339 self.entries = set(map(decodedir, fp.read().splitlines())) 339 self.entries = set(decodedir(fp.read()).splitlines())
340 if '' in self.entries: 340 if '' in self.entries:
341 fp.seek(0) 341 fp.seek(0)
342 for n, line in enumerate(fp): 342 for n, line in enumerate(fp):
343 if not line.rstrip('\n'): 343 if not line.rstrip('\n'):
344 t = _('invalid entry in fncache, line %s') % (n + 1) 344 t = _('invalid entry in fncache, line %s') % (n + 1)