Performance: Sub-dependencies
MEDIUM IMPACT
Sub-dependencies affect the server response time and resource usage by adding layers of function calls during request handling.
from fastapi import Depends, FastAPI app = FastAPI() def get_user(): # combine token extraction and user retrieval token = "token" return {"user": "user_data"} @app.get("/items/") async def read_items(user: dict = Depends(get_user)): return {"user": user}
from fastapi import Depends, FastAPI app = FastAPI() def get_token(): # simulate token extraction return "token" def get_user(token: str = Depends(get_token)): # simulate user retrieval return {"user": "user_data"} @app.get("/items/") async def read_items(user: dict = Depends(get_user)): return {"user": user}
| Pattern | Function Calls | CPU Usage | Response Latency | Verdict |
|---|---|---|---|---|
| Nested sub-dependencies | Multiple per request | Higher due to overhead | Increased by several ms | [X] Bad |
| Flattened combined dependency | Single per request | Lower CPU usage | Reduced latency | [OK] Good |