import time, redis
from app.config import settings
from app.database import SessionLocal
from app.models.user import User
from app.routers import search as search_router
from app.services import rerank_service as rs
db=SessionLocal(); user=db.query(User).filter(User.role=="admin").first()
r=redis.from_url(settings.REDIS_URL, decode_responses=True)
def clear():
    for k in r.scan_iter("rerank:*"): r.delete(k)
def go():
    t=time.perf_counter()
    search_router.search_everything(q="febrile seizure imaging", kinds=None, limit=10, db=db, current_user=user)
    return (time.perf_counter()-t)*1000
go()  # warm the embedding cache
print(f"warm embeddings, rerank cached : {go():.0f} ms")
clear(); print(f"warm embeddings, rerank cold   : {go():.0f} ms")
saved = rs.is_configured; rs.is_configured = lambda: False
print(f"warm embeddings, no reranker   : {go():.0f} ms")
rs.is_configured = saved
