Performance: Broadcasting to clients
MEDIUM IMPACT
This concept affects how quickly updates are sent and rendered on client browsers, impacting interaction responsiveness and perceived real-time experience.
from flask import Flask from flask_socketio import SocketIO app = Flask(__name__) socketio = SocketIO(app) @socketio.on('connect') def handle_connect(): socketio.emit('update', {'data': 'new data'}, broadcast=True) if __name__ == '__main__': socketio.run(app)
from flask import Flask from flask_socketio import SocketIO app = Flask(__name__) socketio = SocketIO(app) @socketio.on('connect') def handle_connect(): for client in connected_clients: socketio.emit('update', {'data': 'new data'}, room=client) if __name__ == '__main__': socketio.run(app)
| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| Individual emits per client | Multiple emits cause repeated DOM updates | Multiple reflows triggered per client | Higher paint cost due to frequent updates | [X] Bad |
| Broadcast emit to all clients | Single emit triggers one DOM update per client | Single reflow per update cycle | Lower paint cost with batched updates | [OK] Good |