Performance: Checkpointing and persistence
MEDIUM IMPACT
This concept affects how quickly a Langchain application can recover state and resume operations, impacting user wait times and responsiveness after interruptions.
import aiofiles import json async def save_state(state): async with aiofiles.open('state.json', 'w') as f: await f.write(json.dumps(state)) async def load_state(): async with aiofiles.open('state.json', 'r') as f: content = await f.read() return json.loads(content)
import json async def save_state(state): with open('state.json', 'w') as f: json.dump(state, f) async def load_state(): with open('state.json', 'r') as f: return json.load(f)
| Pattern | I/O Blocking | Event Loop Delay | User Responsiveness | Verdict |
|---|---|---|---|---|
| Synchronous file save/load | High (blocks) | High (delays event loop) | Poor (long wait times) | [X] Bad |
| Asynchronous file save/load | Low (non-blocking) | Low (event loop free) | Good (fast recovery) | [OK] Good |