6 def checkRace(content):
7 has_race = re.search(r'race', content)
9 print 'data race detected'
11 print 'data race not detected'
13 def GdaxStatistics(filename):
15 with open(filename, 'r') as f:
19 allruns = re.findall(r'(0-0\.49.*?19.99 s: \d+)', content, flags=re.DOTALL)
22 for entry in run.split('\n'):
24 (_, count) = entry.split(': ')
25 iterations += int(count)
27 gdax_data.append(iterations)
31 def SiloStatistics(filename):
33 with open(filename, 'r') as f:
36 allruns = re.findall(r'agg_throughput: (\d+\.?\d*) ops', content)
37 data = [float(x) for x in allruns]
41 def TimeStatistics(filename):
43 with open(filename, 'r') as f:
46 allruns = re.findall(r'real.*?(\d+)m(\d+\.\d+)s', content)
49 time = int(minute) * 60 + float(second)
54 def JsbenchStatistics(filename):
55 with open(filename, 'r') as f:
58 result = re.search(r'(Final results.*?runs)', content, flags=re.DOTALL)
59 print(result.group(0))
62 str_data = [str(x) for x in data]
63 print 'raw data:', ', '.join(str_data)
64 print 'mean:', statistics.mean(data)
65 print 'stddev:', statistics.stdev(data)
68 if __name__ == "__main__":
70 if len(sys.argv) == 2:
73 print 'Silo measurement: agg_throughput, unit: ops/sec'
74 printData(SiloStatistics( base + '/silo.log'))
76 print 'Gdax measurement: number of iterations'
77 printData(GdaxStatistics( base + '/gdax.log'))
79 print 'Iris measurement: real time unit: seccond'
80 printData(TimeStatistics( base + '/iris.log'))
82 print 'Mabain measurement: real time, unit: second'
83 printData(TimeStatistics( base + '/mabain.log'))
85 print 'Jsbench results:'
86 JsbenchStatistics( base + '/jsbench.log');