timer.py 948 B

1234567891011121314151617181920212223242526272829303132
  1. # --------------------------------------------------------
  2. # Fast R-CNN
  3. # Copyright (c) 2015 Microsoft
  4. # Licensed under The MIT License [see LICENSE for details]
  5. # Written by Ross Girshick
  6. # --------------------------------------------------------
  7. import time
  8. class Timer(object):
  9. """A simple timer."""
  10. def __init__(self):
  11. self.total_time = 0.
  12. self.calls = 0
  13. self.start_time = 0.
  14. self.diff = 0.
  15. self.average_time = 0.
  16. def tic(self):
  17. # using time.time instead of time.clock because time time.clock
  18. # does not normalize for multithreading
  19. self.start_time = time.time()
  20. def toc(self, average=True):
  21. self.diff = time.time() - self.start_time
  22. self.total_time += self.diff
  23. self.calls += 1
  24. self.average_time = self.total_time / self.calls
  25. if average:
  26. return self.average_time
  27. else:
  28. return self.diff