summaryrefslogtreecommitdiff
path: root/common/scripts/min_max_avg_parse.py
blob: 9b58f375b2eb9129ea73044ebd2f2a272c084847 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#!/usr/bin/python

import re
import sys
from numpy import *

values = []

r = re.compile(sys.argv[2]+"\s+(?P<measurement>[0-9.]+)")
f = open(sys.argv[1], "r")
for line in f.readlines():
    search = r.search(line)
    if search:
        values.append(float(search.group('measurement')))

if "hackbench" in sys.argv[1]:
    # Usually the first value is inexplicably high
    values.pop(0)

try:
    sys.argv[4]
except IndexError:
    cmd_options = ""
else:
    cmd_options = sys.argv[4]

np_array = array(values)

format = "%-16s%-16s%-16s%-16s"
print format % (sys.argv[1].split('.', 1)[0]+cmd_options+"_min:", str(min(np_array)),    sys.argv[3], "pass")
print format % (sys.argv[1].split('.', 1)[0]+cmd_options+"_max:", str(max(np_array)),    sys.argv[3], "pass")
print format % (sys.argv[1].split('.', 1)[0]+cmd_options+"_avg:", str(mean(np_array)),   sys.argv[3], "pass")
print format % (sys.argv[1].split('.', 1)[0]+cmd_options+"_mdn:", str(median(np_array)), sys.argv[3], "pass")