20 lines
432 B
Python
20 lines
432 B
Python
|
|
import sys
|
||
|
|
import time
|
||
|
|
|
||
|
|
|
||
|
|
class timed_import:
|
||
|
|
"""Context manager for timing imports."""
|
||
|
|
|
||
|
|
def __init__(self, name):
|
||
|
|
self.name = name
|
||
|
|
self.start = None
|
||
|
|
|
||
|
|
def __enter__(self):
|
||
|
|
sys.stdout.write(f"{self.name} ")
|
||
|
|
sys.stdout.flush()
|
||
|
|
self.start = time.time()
|
||
|
|
return self
|
||
|
|
|
||
|
|
def __exit__(self, *args):
|
||
|
|
elapsed = time.time() - self.start
|
||
|
|
print(f"in {elapsed:.1f}s")
|