A simple timer.
| 30 | |
| 31 | |
| 32 | class Timer(object): |
| 33 | """A simple timer.""" |
| 34 | |
| 35 | def __init__(self): |
| 36 | self.reset() |
| 37 | |
| 38 | def reset(self): |
| 39 | self.total_time = 0 |
| 40 | self.calls = 0 |
| 41 | self.start_time = 0 |
| 42 | self.diff = 0 |
| 43 | self.averate_time = 0 |
| 44 | self.min_time = np.Inf |
| 45 | |
| 46 | def tic(self): |
| 47 | # using time.time instead of time.clock because time time.clock |
| 48 | # does not normalize for multithreading |
| 49 | self.start_time = time.time() |
| 50 | |
| 51 | def toc(self, average=False): |
| 52 | self.diff = time.time() - self.start_time |
| 53 | self.total_time += self.diff |
| 54 | self.calls += 1 |
| 55 | self.average_time = self.total_time / self.calls |
| 56 | if self.diff < self.min_time: |
| 57 | self.min_time = self.diff |
| 58 | if average: |
| 59 | return self.average_time |
| 60 | else: |
| 61 | return self.diff |
| 62 | |
| 63 | |
| 64 | class InfSampler(Sampler): |
no outgoing calls
no test coverage detected