summaryrefslogtreecommitdiff
path: root/common/scripts/min_max_avg_parse.py
diff options
context:
space:
mode:
Diffstat (limited to 'common/scripts/min_max_avg_parse.py')
-rwxr-xr-xcommon/scripts/min_max_avg_parse.py33
1 files changed, 33 insertions, 0 deletions
diff --git a/common/scripts/min_max_avg_parse.py b/common/scripts/min_max_avg_parse.py
new file mode 100755
index 0000000..7518049
--- /dev/null
+++ b/common/scripts/min_max_avg_parse.py
@@ -0,0 +1,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")