salience-editor/api/salience/timed_import.py

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")