40 lines
979 B
Python
40 lines
979 B
Python
#!/usr/bin/env python3
|
|
|
|
# Copyright (c) Facebook, Inc. and its affiliates.
|
|
#
|
|
# This source code is licensed under the MIT license found in the
|
|
# LICENSE file in the root directory of this source tree.
|
|
|
|
"""Timer."""
|
|
|
|
import time
|
|
|
|
|
|
class Timer(object):
|
|
"""A simple timer (adapted from Detectron)."""
|
|
|
|
def __init__(self):
|
|
self.total_time = None
|
|
self.calls = None
|
|
self.start_time = None
|
|
self.diff = None
|
|
self.average_time = None
|
|
self.reset()
|
|
|
|
def tic(self):
|
|
# using time.time as time.clock does not normalize for multithreading
|
|
self.start_time = time.time()
|
|
|
|
def toc(self):
|
|
self.diff = time.time() - self.start_time
|
|
self.total_time += self.diff
|
|
self.calls += 1
|
|
self.average_time = self.total_time / self.calls
|
|
|
|
def reset(self):
|
|
self.total_time = 0.0
|
|
self.calls = 0
|
|
self.start_time = 0.0
|
|
self.diff = 0.0
|
|
self.average_time = 0.0
|