chiark
/
gitweb
/
~mdw
/
stgit
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
squash: Make commit message editing more convenient
[stgit]
/
perf
/
perftest.py
diff --git
a/perf/perftest.py
b/perf/perftest.py
index 70727727a8edffdf56ec16bab84bd4edf40e7f51..e5ed04bf9cce08a2033342727109dcec7526b99c 100644
(file)
--- a/
perf/perftest.py
+++ b/
perf/perftest.py
@@
-1,4
+1,4
@@
-import datetime, subprocess, sys
+import datetime,
os, os.path,
subprocess, sys
def duration(t1, t2):
d = t2 - t1
def duration(t1, t2):
d = t2 - t1
@@
-8,8
+8,16
@@
class Run(object):
def __init__(self):
self.__cwd = None
self.__log = []
def __init__(self):
self.__cwd = None
self.__log = []
+ def __logfile(self, cmd):
+ fn = os.path.join(os.getcwd(), '%04d.log' % len(self.__log))
+ f = open(fn, 'w')
+ f.write(' '.join(cmd) + '\n' + '-'*70 + '\n\n')
+ f.close()
+ return fn
def __call__(self, *cmd, **args):
def __call__(self, *cmd, **args):
- kwargs = { 'cwd': self.__cwd }
+ env = dict(os.environ)
+ env['STGIT_SUBPROCESS_LOG'] = 'profile:' + self.__logfile(cmd)
+ kwargs = { 'cwd': self.__cwd, 'env': env }
if args.get('capture_stdout', False):
kwargs['stdout'] = subprocess.PIPE
start = datetime.datetime.now()
if args.get('capture_stdout', False):
kwargs['stdout'] = subprocess.PIPE
start = datetime.datetime.now()