]> git.somenet.org - pub/astra/parallel.git/blob - prefix/parseDat.py
read *all* the runs
[pub/astra/parallel.git] / prefix / parseDat.py
1 #!/usr/bin/env python2
2
3 import os
4
5 statsdir = 'stats/raw/'
6
7 runs = os.listdir(statsdir)
8 #print runs
9
10 bigrunlist = []
11 for i in runs:
12         runfiles = os.listdir(statsdir+i)
13 #       print runfiles
14         for file in runfiles:
15 #               print "File: %s%s/%s" % (statsdir, i, file)
16                 splitfilename = file.replace('hillis_', 'hillis-').split('_')
17                 splitfilename[1] = splitfilename[1].replace('hillis-', 'hillis_')
18                 dict = {}
19                 dict['sched'] = splitfilename[0]
20                 dict['algo'] = splitfilename[1]
21                 dict['n'] = int(splitfilename[2].lstrip('n'))
22                 fd = open(statsdir+i+'/'+file, "r")
23                 fd_text = fd.read()
24                 fd.close()
25                 fd_lines = fd_text.split("\n")
26                 for line in fd_lines:
27                         if line == "":
28                                 continue
29                         elements = line.split(" ")
30                         for elem in elements:
31                                 (key, value) = elem.split("=", 1)
32                                 if key == 'binname':
33                                         (_, prog) = value.split("/", 1)
34                                         if prog != dict['algo']:
35                                                 print "Failed: %s is not %s" % (prog, dict['algo'])
36                                 elif key == 'size':
37                                         size = int(value)
38                                         if size != dict['n']:
39                                                 print "Failed: %s is not %s" % (size, dict['nvalue'])
40                                 elif key == 'time':
41                                         time = float(value)
42                         dict['time'] = time
43                         bigrunlist.append(dict)
44 for i in bigrunlist:
45         print i