Mercurial > public > mercurial-scm > hg
comparison contrib/revsetbenchmarks.py @ 20851:4130ec938c84
revsetbenchmark: convert performance call to proper subprocess call
author | Pierre-Yves David <pierre-yves.david@fb.com> |
---|---|
date | Wed, 26 Mar 2014 18:26:18 -0700 |
parents | d0c2535c7aba |
children | b2353501d6dc |
comparison
equal
deleted
inserted
replaced
20850:d0c2535c7aba | 20851:4130ec938c84 |
---|---|
23 check_call(['hg', 'update', '--quiet', '--check', str(rev)]) | 23 check_call(['hg', 'update', '--quiet', '--check', str(rev)]) |
24 except CalledProcessError, exc: | 24 except CalledProcessError, exc: |
25 print >> sys.stderr, 'update to revision %s failed, aborting' % rev | 25 print >> sys.stderr, 'update to revision %s failed, aborting' % rev |
26 sys.exit(exc.returncode) | 26 sys.exit(exc.returncode) |
27 | 27 |
28 PERF="./hg --config extensions.perf=contrib/perf.py perfrevset" | 28 def perf(revset): |
29 """run benchmark for this very revset""" | |
30 try: | |
31 check_call(['./hg', '--config', 'extensions.perf=contrib/perf.py', | |
32 'perfrevset', revset]) | |
33 except CalledProcessError, exc: | |
34 print >> sys.stderr, 'abort: cannot run revset benchmark' | |
35 sys.exit(exc.returncode) | |
36 | |
29 | 37 |
30 target_rev = sys.argv[1] | 38 target_rev = sys.argv[1] |
31 | 39 |
32 revsetsfile = sys.stdin | 40 revsetsfile = sys.stdin |
33 if len(sys.argv) > 2: | 41 if len(sys.argv) > 2: |
59 print "----------------------------" | 67 print "----------------------------" |
60 update(r) | 68 update(r) |
61 for idx, rset in enumerate(revsets): | 69 for idx, rset in enumerate(revsets): |
62 sys.stdout.write("%i) " % idx) | 70 sys.stdout.write("%i) " % idx) |
63 sys.stdout.flush() | 71 sys.stdout.flush() |
64 check_call(PERF + ' "%s"' % rset, shell=True) | 72 perf(rset) |
65 print "----------------------------" | 73 print "----------------------------" |
66 | 74 |