-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtimer.py
More file actions
43 lines (40 loc) · 1.24 KB
/
Copy pathtimer.py
File metadata and controls
43 lines (40 loc) · 1.24 KB
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
34
35
36
37
38
39
40
41
42
43
import time
class timeit():
def __init__(self):
self.start = time.time()
self.save()
def save(self):
self.current = time.time()
def show(self, msg):
diff1 = '%.02f' % ((time.time() - self.start) * 1000)
diff2 = '%.02f' % ((time.time() - self.current) * 1000)
format = 'TIMER: %9s - %9s ms > %s'
print(format % (diff1, diff2, msg))
self.save()
class timer:
av = []
def __init__(self, lines = 0):
self.time, self.lines = (time.time(), lines)
def average(self):
if not len(self.av):
return
total = 0
count = 0
for av in self.av:
total += av
count += 1
print('Average: %5d lines per sec' % (total / count, ))
def stop(self, msg, lines, size = False):
ct = time.time()
dt = ct - self.time
dl = lines - self.lines
# print('%f - %f = %f' % (lines, self.lines, dl))
self.lines = lines
self.time = ct
lps = dl / dt
info = '%5d l/s' % (lps,)
self.av.append(int(lps))
if dt < 0.5:
print('%s took %0.2f ms %s' % (msg, dt * 1000, info))
else:
print('%s took %0.2f s %s' % (msg, dt, info))