Performance: Application factory pattern deep dive
MEDIUM IMPACT
This pattern affects initial page load speed and server response time by controlling when and how the Flask app and its components are created.
from flask import Flask def create_app(): app = Flask(__name__) @app.route('/') def home(): return 'Hello World!' return app if __name__ == '__main__': app = create_app() app.run()
from flask import Flask app = Flask(__name__) @app.route('/') def home(): return 'Hello World!' if __name__ == '__main__': app.run()
| Pattern | App Initialization Timing | Memory Usage | Startup Delay | Verdict |
|---|---|---|---|---|
| Global app instance | At import time | Higher (all loaded upfront) | Blocks startup | [X] Bad |
| Application factory | At runtime when called | Lower (lazy initialization) | Minimal startup delay | [OK] Good |