Long-running stateful agents
Agents that run for minutes or hours, checkpointing large state the whole way.
The problem
Checkpoint cost compounds over the run
A graph that checkpoints 50+ times pays the serialization tax on every super-step. At 200 ms per checkpoint on large state, that’s seconds of pure overhead per run.
Executors are rebuilt on every invocation
LangGraph creates a fresh ThreadPoolExecutor per invoke. On long, chatty graphs that setup cost is paid again and again before any work happens.
How fast-langraph fixes it
RustSQLiteCheckpointer Durable, local, SQLite-backed checkpoints with a Rust serialization path — 5–6× faster end-to-end and up to 737× on the serialization step alone.
Guide →shim.patch_langgraph() Caches executors across invocations, removing the single largest per-invocation cost and delivering a 2.3× speedup on the invoke path.
Guide →The outcome
A run that checkpoints constantly spends its time doing work, not serializing state and rebuilding thread pools.
Questions
Is RustSQLiteCheckpointer durable enough for long runs? +
Yes. It is a durable, on-disk SQLite-backed saver — state survives process restarts. It suits single-node or per-instance long-running agents that want local durability without standing up a separate Postgres or Redis backend.
Explore more use cases, the full feature set, or start with the quickstart.
Hit a LangGraph scaling wall?
We help production teams squeeze every bottleneck out of LangGraph — checkpoints, state, LLM costs, memory. Honest audits. Measurable fixes.