1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| """
| Timer context manager, only used in debug.
|
| """
|
| from time import time
|
| import contextlib
| from typing import Generator
|
|
| @contextlib.contextmanager
| def timer(subject: str = "time") -> Generator[None, None, None]:
| """print the elapsed time. (only used in debugging)"""
| start = time()
| yield
| elapsed = time() - start
| elapsed_ms = elapsed * 1000
| print(f"{subject} elapsed {elapsed_ms:.1f}ms")
|
|