updates
[lttv.git] / trunk / masters-pmf / java_speed_test / bench / bench.py
1 runs=10
2
3 class Task:
4 name = "unnamed"
5 pre_cmd = ""
6 cmd = ""
7 post_cmd = ""
8 results = 0
9 remain = 1
10
11 def __init__(self):
12 self.results = []
13
14 tasks = []
15
16 t1 = Task()
17 t1.name = "C version (without print)"
18 t1.pre_cmd = ""
19 t1.cmd = "pushd ../c >/dev/null; ./main; popd >/dev/null;"
20 t1.post_cmd = ""
21 tasks.append(t1)
22
23 t3 = Task()
24 t3.name = "C version (with print)"
25 t3.pre_cmd = ""
26 t3.cmd = "pushd ../c >/dev/null; ./main -p; popd >/dev/null;"
27 t3.post_cmd = ""
28 #tasks.append(t3)
29
30 t5 = Task()
31 t5.name = "C version (with print, but sent to /dev/null)"
32 t5.pre_cmd = ""
33 t5.cmd = "pushd ../c >/dev/null; ./main -p >/dev/null; popd >/dev/null;"
34 t5.post_cmd = ""
35 #tasks.append(t5)
36
37 t2 = Task()
38 t2.name = "Java version (without print)"
39 t2.pre_cmd = ""
40 t2.cmd = "pushd ../java >/dev/null; java read_trace; popd >/dev/null;"
41 t2.post_cmd = ""
42 tasks.append(t2)
43
44 t4 = Task()
45 t4.name = "Java version (with print)"
46 t4.pre_cmd = ""
47 t4.cmd = "pushd ../java >/dev/null; java read_trace -p; popd >/dev/null;"
48 t4.post_cmd = ""
49 #tasks.append(t4)
50
51 t6 = Task()
52 t6.name = "Java version (with print, but sent to /dev/null)"
53 t6.pre_cmd = ""
54 t6.cmd = "pushd ../java >/dev/null; java read_trace -p >/dev/null; popd >/dev/null;"
55 t6.post_cmd = ""
56 #tasks.append(t6)
57
58 import os
59 import time
60
61 def average(lst):
62 sum = 0
63 count = 0
64
65 for i in lst:
66 sum += i
67 count += 1
68
69 if count == 0:
70 return 0
71 else:
72 return sum/count
73
74 def min(lst):
75 if len(lst) == 0:
76 return 0
77
78 found = lst[0]
79
80 for i in lst:
81 if i < found:
82 found = i
83
84 return found
85
86 def max(lst):
87 if len(lst) == 0:
88 return 0
89
90 found = lst[0]
91
92 for i in lst:
93 if i > found:
94 found = i
95
96 return found
97
98 def main():
99 for task in tasks:
100 while task.remain > 0:
101 os.system(task.pre_cmd)
102 t_start = time.time()
103 os.system(task.cmd)
104 t_end = time.time()
105 os.system(task.post_cmd)
106 task.remain-=1
107 task.results.append(t_end-t_start)
108 print(task.results)
109
110 print "------------------------------------"
111 for task in tasks:
112 print "RESULTS for " + task.name
113 print "Runs: " + str(len(task.results))
114 av = average(task.results)
115 print "Average run time: " + str(round(av, 3)) + " s"
116 print "Rate: " + str(round(1000000.0 / av, 3)) + " events/s"
117 #print "Min: " + str(round(min(task.results), 3))
118 #print "Max: " + str(round(max(task.results), 3))
119 print ""
120
121 main()
This page took 0.035437 seconds and 4 git commands to generate.