timer.py 473 B

123456789101112131415161718192021
  1. import time
  2. from typing import Any
  3. from typing_extensions import Self
  4. class Timer:
  5. def __init__(self) -> None:
  6. self.start_time: float = time.time()
  7. self.start: float = time.perf_counter()
  8. self.stop: float = self.start
  9. def __enter__(self) -> Self:
  10. return self
  11. def __exit__(self, *args: Any) -> None:
  12. self.stop = time.perf_counter()
  13. @property
  14. def elapsed(self) -> float:
  15. return self.stop - self.start