Knowledge

Everything we've written

Guides, technical articles, and LangGraph production pain points — all in one place. Filter by type, sorted newest first.

Guide beginner ·

Cache LLM calls with @cached for a 10x speedup

LangGraph graphs re-issue the same LLM prompts constantly. The fast-langraph @cached decorator drops onto your LLM call sites and eliminates redundant API spend.

cachingllmcost-optimization
Guide intermediate ·

Find LangGraph bottlenecks with GraphProfiler

Before you adopt fast-langraph or any other optimization, measure. The GraphProfiler adds ~1.6 μs of overhead per operation and tells you exactly where your wall clock goes.

profilingdiagnosticsperformance
Guide beginner ·

Quickstart: enable fast-langraph in under a minute

Install fast-langraph, flip the shim on, and measure your first speedup. No code changes to your existing LangGraph application.

quickstartshiminstall
Guide intermediate ·

Swap in RustSQLiteCheckpointer for 5–6x faster checkpointing

Replace LangGraph's built-in SQLite checkpointer with the Rust-backed drop-in. Same API, 5–6x faster per operation, and up to 737x faster on the serialization step for large state.

checkpointsqlitepersistence
Guide beginner ·

Automatic shim mode: zero-code-change acceleration

fast_langgraph.shim.patch_langgraph() monkey-patches LangGraph at import time, swapping in faster executors and Rust-backed channel updates. No code changes anywhere else.

shimautomaticexecutor
Guide advanced ·

Manual acceleration mode: direct Rust component usage

When the shim isn't enough, explicit Rust components deliver the headline speedups: 737x on checkpoint serialization, 46x on sustained state updates, and 10x on LLM caching.

manualadvancedoptimization
Guide intermediate ·

Migrating from vanilla LangGraph to fast-langraph

A step-by-step migration checklist: profile, adopt the shim, swap the checkpointer, add caching, validate. Each step is reversible and measured.

migrationchecklistadoption
Article performance ·

Why Python's deepcopy kills LangGraph at scale

The 737x speedup on checkpoint serialization isn't magic. It's the direct consequence of what Python's deepcopy actually does — and doesn't do — to your agent state.

deepcopyserializationcheckpointperformance
Article architecture ·

Scaling LangGraph in production: the three real bottlenecks

Production LangGraph workloads hit three predictable bottlenecks: checkpointing, executor churn, and LLM redundancy. An architect-level look at the cost math at each stage.

productionscalingarchitecturecost
Article performance ·

Executor churn: the 58% problem in LangGraph invocations

Most LangGraph invocation overhead isn't in your nodes or your channels. It's in ThreadPoolExecutor construction on every single call — 58% of wall clock on short graphs.

executorthread-poolinvocation-overhead
Article comparison ·

LangGraph vs fast-langraph: side-by-side benchmarks

An apples-to-apples comparison across checkpoint serialization, state updates, end-to-end graph execution, and LLM caching — every number reproducible from the public benchmark scripts.

benchmarkscomparisonperformance
Article opinion ·

When not to use fast-langraph

An honest guide to when fast-langraph won't help — small graphs, simple state, LLM-bound workloads. Optimization isn't free, and the wrong tool at the wrong time is just noise.

honestyanti-patternwhen-not-to
Issue high ·

LangGraph checkpoint serialization overhead on large state

Production teams running LangGraph with non-trivial agent state hit a wall where every super-step pays 100+ ms in Python deepcopy overhead. This is the single largest source of p95 latency growth.

checkpointdeepcopyperformancelanggraph-issue
Issue high ·

LangGraph memory footprint grows unbounded on long-running graphs

Long-running LangGraph workloads see peak memory grow well beyond the logical state size. The culprit isn't a leak — it's deepcopy allocating parallel object graphs on every checkpoint.

memorycheckpointdeepcopylanggraph-issue
Issue medium ·

LangGraph retry and branching loops re-issue identical LLM calls

LangGraph graphs with retries, branches, or reflection passes frequently send the same prompt to the LLM multiple times per invocation — inflating both latency and API spend.

llmcachingcostlanggraph-issue