#!/usr/bin/env python3
import time
-from typing import Callable
+from typing import Callable, Optional
class Timer(object):
e.g.
- with timer.Timer() as t:
+ with stopwatch.Timer() as t:
do_the_thing()
walltime = t()
"""
def __init__(self) -> None:
- self.start = None
- self.end = None
+ self.start = 0.0
+ self.end = 0.0
def __enter__(self) -> Callable[[], float]:
"""Returns a functor that, when called, returns the walltime of the
self.end = 0.0
return lambda: self.end - self.start
- def __exit__(self, *args) -> bool:
+ def __exit__(self, *args) -> Optional[bool]:
self.end = time.perf_counter()
return None # don't suppress exceptions