Mercurial > hg
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) |