Performance: G object for request-scoped data
MEDIUM IMPACT
This affects how data is stored and accessed during a single web request, impacting memory usage and request handling speed.
from flask import g def get_user(): if not hasattr(g, 'user'): g.user = compute_user_from_db() return g.user @app.route('/') def index(): user1 = get_user() user2 = get_user() return f"Hello {user1.name} and {user2.name}"
def get_user(): user = compute_user_from_db() return user @app.route('/') def index(): user1 = get_user() user2 = get_user() return f"Hello {user1.name} and {user2.name}"
| Pattern | Memory Usage | Request Time | Server Load | Verdict |
|---|---|---|---|---|
| Repeated function calls without G | Low per call but repeated | High due to duplicate DB queries | Higher due to redundant work | [X] Bad |
| Caching data in G object | Slightly higher per request | Lower by avoiding repeats | Lower due to efficient reuse | [OK] Good |