Skip to content

Instantly share code, notes, and snippets.

@SiLiKhon
Created November 30, 2022 04:47
Show Gist options
  • Save SiLiKhon/2ee935e0d88ec598cb2be3d10c22d3eb to your computer and use it in GitHub Desktop.
Save SiLiKhon/2ee935e0d88ec598cb2be3d10c22d3eb to your computer and use it in GitHub Desktop.
from time import perf_counter
class TimeMonitor:
def __enter__(self):
self.report_times = [perf_counter()]
self.report_tags = ["Start"]
return self
def tick(self, tag):
self.report_times.append(perf_counter())
self.report_tags.append(tag)
def __exit__(self, *exc):
self.report_times.append(perf_counter())
self.report_tags.append("Finish")
for i in range(len(self.report_tags) - 1):
elapsed = self.report_times[i + 1] - self.report_times[i]
tag = f"{self.report_tags[i]} - {self.report_tags[i + 1]}"
print(f"{elapsed:12.6f} - {tag}")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment