diff options
| author | Scott Gasch <[email protected]> | 2021-07-12 20:52:49 -0700 |
|---|---|---|
| committer | Scott Gasch <[email protected]> | 2021-07-12 20:52:49 -0700 |
| commit | 97fbe845e5dfdbda22521117c1783e1fd8515952 (patch) | |
| tree | 8b0ac61be1d670621abc994beef84e249f0ad95a /timer.py | |
| parent | a838c154135b2420d9047a101caf24a2c9f593c2 (diff) | |
Random changes.
Diffstat (limited to 'timer.py')
| -rw-r--r-- | timer.py | 28 |
1 files changed, 28 insertions, 0 deletions
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 |
