X-Git-Url: https://wannabe.guru.org/gitweb/?a=blobdiff_plain;f=stopwatch.py;h=cdd405b558213a9fb7c0ca38eec72ad41ba47a14;hb=822454f580c1ff9eb207b8da46cdfae24e30cde1;hp=d54af8792d28eef4025c150cb1920fbd2113efee;hpb=1574e8a3a8982fab9278ad534f9427d464e4bffb;p=python_utils.git diff --git a/stopwatch.py b/stopwatch.py index d54af87..cdd405b 100644 --- a/stopwatch.py +++ b/stopwatch.py @@ -6,11 +6,15 @@ from typing import Callable class Timer(object): """ - with timer.Timer() as t: - do_the_thing() + A stopwatch to time how long something takes (walltime). - walltime = t() - print(f'That took {walltime}s.') + e.g. + + with timer.Timer() as t: + do_the_thing() + + walltime = t() + print(f'That took {walltime} seconds.') """ def __init__(self) -> None: @@ -18,10 +22,13 @@ class Timer(object): self.end = None def __enter__(self) -> Callable[[], float]: + """Returns a functor that, when called, returns the walltime of the + operation in seconds. + """ 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 + return None # don't suppress exceptions