Six notebooks, one per developer experience dimension. Click any benchmark to expand the raw numbers and key finding.
Click any card to expand details.
import? Measured on a cold Python process with no cached bytecode.LangChain wins via lazy loading — most imports are deferred until first use. SynapseKit is 0.11 s slower (eager imports). LlamaIndex is 8× slower than LangChain at cold start.
pip install <framework> drag in? Counted all transitive dependencies including indirect ones.SynapseKit: numpy + rank-bm25. LangChain: 32 packages. LlamaIndex: 60. In Docker or Lambda, the difference is minutes vs seconds on cold install.
The gap is boilerplate — document wrapping, splitter config, vector store init — that higher-abstraction frameworks handle internally. 4 lines = 9 abstracted decisions.
psutil.Process().memory_info().rss.All three converge once an embedding model is loaded — the model dominates. But the floor matters in serverless deployments billed by memory allocation.
SynapseKit: change provider="groq". LangChain/LlamaIndex: pip install a new package + add import + change constructor. 3 changes × 19 providers = significant ongoing friction.
SynapseKit's bad-provider error lists all 14 valid providers in the message. LlamaIndex's silent failure at init — no error until first query after full indexing — is the worst pattern of the week.