From 97fbe845e5dfdbda22521117c1783e1fd8515952 Mon Sep 17 00:00:00 2001 From: Scott Gasch Date: Mon, 12 Jul 2021 20:52:49 -0700 Subject: Random changes. --- timer.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 timer.py (limited to 'timer.py') diff --git a/timer.py b/timer.py new file mode 100644 index 0000000..752c7ed --- /dev/null +++ b/timer.py @@ -0,0 +1,28 @@ +#!/usr/bin/env python3 + +import time +from typing import Callable + + +class Timer(object): + """ + with timer.Timer() as t: + do_the_thing() + + walltime = t() + print(f'That took {walltime}s.') + """ + + def __init__(self) -> None: + self.start = None + self.end = None + pass + + def __enter__(self) -> Callable[[], float]: + self.start = time.perf_counter() + self.end = 0.0 + return lambda: self.end - self.start + + def __exit__(self, *args) -> bool: + self.end = time.perf_counter() + return True -- cgit v1.3