A simple timer.
| 8 | import time |
| 9 | |
| 10 | class Timer(object): |
| 11 | """A simple timer.""" |
| 12 | def __init__(self): |
| 13 | self.total_time = 0. |
| 14 | self.calls = 0 |
| 15 | self.start_time = 0. |
| 16 | self.diff = 0. |
| 17 | self.average_time = 0. |
| 18 | self.warm_up = 0 |
| 19 | |
| 20 | def tic(self): |
| 21 | # using time.time instead of time.clock because time time.clock |
| 22 | # does not normalize for multithreading |
| 23 | self.start_time = time.time() |
| 24 | |
| 25 | def toc(self, average=True): |
| 26 | self.diff = time.time() - self.start_time |
| 27 | if self.warm_up < 10: |
| 28 | self.warm_up += 1 |
| 29 | return self.diff |
| 30 | else: |
| 31 | self.total_time += self.diff |
| 32 | self.calls += 1 |
| 33 | self.average_time = self.total_time / self.calls |
| 34 | |
| 35 | if average: |
| 36 | return self.average_time |
| 37 | else: |
| 38 | return self.diff |