summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xbaseline/summarize.py34
-rwxr-xr-xsummarize.py (renamed from dis/summarize.py)15
2 files changed, 12 insertions, 37 deletions
diff --git a/baseline/summarize.py b/baseline/summarize.py
deleted file mode 100755
index 82f82d9..0000000
--- a/baseline/summarize.py
+++ /dev/null
@@ -1,34 +0,0 @@
1#!/usr/bin/python3
2import sys
3
4f = sys.argv[1]
5res = {}
6mem_res = {}
7memw_res = {}
8samples = {}
9
10with open(f) as fp:
11 for line in fp:
12 s = line.split()
13 if s[0] not in res:
14 print(s[0])
15 res[s[0]] = int(s[5])
16 mem_res[s[0]] = int(s[8])
17 memw_res[s[0]] = int(s[9])
18 samples[s[0]] =int(s[4])
19 else:
20 res[s[0]] += int(s[5])
21 mem_res[s[0]] += int(s[8])
22 memw_res[s[0]] += int(s[9])
23
24print("Average times:")
25for r in res.keys():
26 print(res[r]/samples[r])
27
28print("Average memory read:")
29for r in mem_res.keys():
30 print(mem_res[r]/samples[r])
31
32print("Average memory write:")
33for r in memw_res.keys():
34 print(memw_res[r]/samples[r])
diff --git a/dis/summarize.py b/summarize.py
index 31dcccc..2183c41 100755
--- a/dis/summarize.py
+++ b/summarize.py
@@ -50,19 +50,28 @@ def percentile(N, percent, key=lambda x:x):
50 d1 = key(N[int(c)]) * (k-f) 50 d1 = key(N[int(c)]) * (k-f)
51 return d0+d1 51 return d0+d1
52## end of http://code.activestate.com/recipes/511478/ }}} 52## end of http://code.activestate.com/recipes/511478/ }}}
53def memstring(memr, memw, samples):
54 if memr or memw:
55 return "\t{:>12.f}\t{:>12.f}".format(memr/samples, memw/samples)
56 else:
57 return ""
53avg_max = 0 58avg_max = 0
54avg_99th = 0 59avg_99th = 0
55avg_avg = 0 60avg_avg = 0
56print("Name\t\tAverage\t\tMax\t\t99th %\t\tAvg Mem Read\tAvg Mem Write\t") 61# Only include memory info in the header if relevant
62if mem_res[s[0]] == 0:
63 print("Name\t\tAverage\t\tMax\t\t99th %")
64else:
65 print("Name\t\tAverage\t\tMax\t\t99th %\t\tAvg Mem Read\tAvg Mem Write\t")
57for r in sorted(res.keys()): 66for r in sorted(res.keys()):
58# print(r + "\t\t" + str(res[r]/samples[r]) + "\t\t" + str(max_res[r])) 67# print(r + "\t\t" + str(res[r]/samples[r]) + "\t\t" + str(max_res[r]))
59 avg_avg += sum(res[r])/len(res[r]) 68 avg_avg += sum(res[r])/len(res[r])
60 avg_max += max(res[r]) 69 avg_max += max(res[r])
61 avg_99th += percentile(sorted(res[r]), 0.99) 70 avg_99th += percentile(sorted(res[r]), 0.99)
62 if len(sys.argv) > 2 and sys.argv[2] == "--inf-precision": 71 if len(sys.argv) > 2 and sys.argv[2] == "--inf-precision":
63 print("{:12}\t{:>12.0f}\t{:>12.0f}\t{:>12.0f}\t{:>12.0f}\t{:>12.0f}".format(r, sum(res[r])/len(res[r]), max(res[r]), percentile(sorted(res[r]), 0.99), mem_res[r]/samples[r], memw_res[r]/samples[r])) 72 print("{:12}\t{:>12.0f}\t{:>12.0f}\t{:>12.0f}".format(r, sum(res[r])/len(res[r]), max(res[r]), percentile(sorted(res[r]), 0.99)) + memstring(mem_res[r], memw_res[r], samples[r]))
64 else: 73 else:
65 print("{:12.12}\t{:>12.0f}\t{:>12.0f}\t{:>12.0f}\t{:>12.0f}\t{:>12.0f}".format(r, sum(res[r])/len(res[r]), max(res[r]), percentile(sorted(res[r]), 0.99), mem_res[r]/samples[r], memw_res[r]/samples[r])) 74 print("{:12.12}\t{:>12.0f}\t{:>12.0f}\t{:>12.0f}".format(r, sum(res[r])/len(res[r]), max(res[r]), percentile(sorted(res[r]), 0.99)) + memstring(mem_res[r], memw_res[r], samples[r]))
66 75
67print("Average average:", avg_avg/len(res.keys())) 76print("Average average:", avg_avg/len(res.keys()))
68print("Average max:", avg_max/len(res.keys())) 77print("Average max:", avg_max/len(res.keys()))