timing.py 518 B

123456789101112131415161718192021
  1. import time
  2. class timing:
  3. def __init__(self, name="?"):
  4. self.name = name
  5. self.duration = 0.0
  6. self.startTime = None
  7. self.runCount = 0
  8. def start(self):
  9. self.startTime = time.process_time()
  10. def stop(self):
  11. if self.startTime is not None:
  12. self.duration += time.process_time() - self.startTime
  13. self.runCount += 1
  14. self.startTime = None
  15. def __str__(self):
  16. return f"{self.name}: #{self.runCount} {self.duration:.4f}s"