Spaces:
Runtime error
Runtime error
| # Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. | |
| import time | |
| import datetime | |
| class Timer(object): | |
| def __init__(self): | |
| self.reset() | |
| def average_time(self): | |
| return self.total_time / self.calls if self.calls > 0 else 0.0 | |
| def tic(self): | |
| # using time.time instead of time.clock because time time.clock | |
| # does not normalize for multithreading | |
| self.start_time = time.time() | |
| def toc(self, average=True): | |
| self.add(time.time() - self.start_time) | |
| if average: | |
| return self.average_time | |
| else: | |
| return self.diff | |
| def add(self, time_diff): | |
| self.diff = time_diff | |
| self.total_time += self.diff | |
| self.calls += 1 | |
| def reset(self): | |
| self.total_time = 0.0 | |
| self.calls = 0 | |
| self.start_time = 0.0 | |
| self.diff = 0.0 | |
| def avg_time_str(self): | |
| time_str = str(datetime.timedelta(seconds=self.average_time)) | |
| return time_str | |
| def get_time_str(time_diff): | |
| time_str = str(datetime.timedelta(seconds=time_diff)) | |
| return time_str | |