timer.py 451 Bytes
Newer Older
mashun1's avatar
veros  
mashun1 committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import timeit
import threading

timer_context = threading.local()
timer_context.active = True


class Timer:
    def __init__(self):
        self.total_time = 0
        self.last_time = 0

    def __enter__(self):
        self.start_time = timeit.default_timer()

    def __exit__(self, *args, **kwargs):
        self.last_time = timeit.default_timer() - self.start_time

        if timer_context.active:
            self.total_time += self.last_time