face-intel / utils /timing.py
Marwan
Restructure + add reverse face search (PimEyes-style)
f5eeb1c
Raw
History Blame Contribute Delete
532 Bytes
"""
Timing utility — context manager and decorator for measuring latency.
"""
from __future__ import annotations
import time
from contextlib import contextmanager
from typing import Iterator
@contextmanager
def timed(label: str = "") -> Iterator[dict]:
"""Context manager that yields a dict and fills it with elapsed ms."""
info: dict = {"label": label, "elapsed_ms": 0.0}
t0 = time.perf_counter()
try:
yield info
finally:
info["elapsed_ms"] = round((time.perf_counter() - t0) * 1000.0, 3)