From 4c2547f734d48fd663db1d2ed5989d301dc7f575 Mon Sep 17 00:00:00 2001 From: Adrian Buehlmann Date: Fri, 14 Sep 2012 13:02:31 +0200 Subject: [PATCH] perf: add perffncacheencode Examples (all done with somewhat dated clones I found on my disk): Netbeans (~120k entries in fncache): $ hg perffncacheencode ! wall 4.338000 comb 4.336828 user 4.336828 sys 0.000000 (best of 3) Openoffice (~77k entries in fncache)): $ hg perffncacheencode ! wall 1.533000 comb 1.528810 user 1.528810 sys 0.000000 (best of 7) Xen (~10k entries in fncache): $ hg perffncacheencode ! wall 0.198000 comb 0.187201 user 0.187201 sys 0.000000 (best of 51) Done on Windows 7 x64. --- contrib/perf.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/contrib/perf.py b/contrib/perf.py index 574e899993..be03d4df41 100644 --- a/contrib/perf.py +++ b/contrib/perf.py @@ -195,6 +195,16 @@ def perffncachewrite(ui, repo): s.fncache.write() timer(d) +def perffncacheencode(ui, repo): + from mercurial import store + s = store.store(set(['store','fncache','dotencode']), + repo.path, scmutil.opener) + s.fncache._load() + def d(): + for p in s.fncache.entries: + s.encode(p) + timer(d) + def perfdiffwd(ui, repo): """Profile diff of working directory changes""" options = { @@ -226,6 +236,7 @@ cmdtable = { 'perfcca': (perfcca, []), 'perffncacheload': (perffncacheload, []), 'perffncachewrite': (perffncachewrite, []), + 'perffncacheencode': (perffncacheencode, []), 'perflookup': (perflookup, []), 'perfrevrange': (perfrevrange, []), 'perfnodelookup': (perfnodelookup, []),