Numbers, not promises
Zahlen, keine Versprechen
Every comparison below is a real, runnable scenario — the same job in Python + LangChain vs. Pipe. Full commands are in the docs and examples.
Jeder Vergleich unten ist ein reales, ausführbares Szenario — dieselbe Aufgabe in Python + LangChain vs. Pipe. Alle Befehle stehen in Doku und Beispielen.
RAG pipeline — code size
RAG-Pipeline — Code-Umfang
The same semantic-search question-answering pipeline: embed a knowledge base, find the nearest match, and ask the LLM.
Dieselbe semantische Such-&-Frage-Pipeline: Wissensbasis embedden, nächsten Treffer finden und das LLM fragen.
8× less code. The pipeline operator removes the orchestration boilerplate entirely.
8× weniger Code. Der Pipeline-Operator eliminiert das Orchestrierungs-Boilerplate komplett.
-- Pipe RAG (~10 lines)
ai_provider "deepseek"
docs: read_lines "knowledge_base.txt"
vectors: embed_batch docs
question: "How does the bytecode VM work?"
q_vec: embed question
top: nearest q_vec vectors 3
ask ("Context:\n" ++ (join (map top (at docs)) "\n") ++ "\nQ: " ++ question)
> print
Parallel LLM calls — wall time
Parallele LLM-Calls — Laufzeit
Three independent LLM calls. Sequentially they cost ~1.3s each. With Pipe's >> operator they run concurrently and finish together.
Drei unabhängige LLM-Calls. Sequentiell kosten sie jeweils ~1,3s. Mit dem >>-Operator von Pipe laufen sie gleichzeitig und enden zusammen.
2.7× faster with zero async/await or Promise.all boilerplate. ai_batch scales the same idea to hundreds of texts with built-in rate limiting.
2,7× schneller ohne async/await- oder Promise.all-Boilerplate. ai_batch skaliert dieselbe Idee auf hunderte Texte mit eingebautem Rate-Limiting.
-- 3 calls in parallel — ~1.5s total
a: "Capital of France?" >> ask
b: "Capital of Germany?" >> ask
c: "Capital of Italy?" >> ask
print a ++ " | " ++ b ++ " | " ++ c
Deploy size — binary vs. Docker image
Deploy-Größe — Binary vs. Docker-Image
A typical Python + LangChain deployment ships as a ~500 MB Docker image with venv, pip and dependencies. Pipe is a single statically-linked binary.
Ein typisches Python-+LangChain-Deployment ist ein ~500-MB-Docker-Image mit venv, pip und Abhängigkeiten. Pipe ist eine einzige statisch gelinkte Binary.
Deploy to a server or Raspberry Pi with scp pipe binary. No venv, no pip, no Docker, no runtime dependencies.
Deploy auf Server oder Raspberry Pi per scp pipe binary. Kein venv, kein pip, kein Docker, keine Laufzeit-Abhängigkeiten.
Execution engine — bytecode VM
Ausführungs-Engine — Bytecode-VM
Compile to bytecode and run on a stack-based VM instead of the tree-walker. Compute-heavy pipelines get faster — often ~7× — with automatic caching.
In Bytecode kompilieren und auf einer Stack-basierten VM statt im Tree-Walker ausführen. Rechenlastige Pipelines werden schneller — oft ~7× — mit automatischem Caching.
Run with pipe -vm -q script.pipe. Measure it yourself with pipe -bench.
Ausführen mit pipe -vm -q script.pipe. Selbst messen mit pipe -bench.
Pipe vs. Python + LangChain
Pipe vs. Python + LangChain
Same job. Less code. Built-in safety.
Gleicher Job. Weniger Code. Eingebaute Sicherheit.
| Python + LangChain | Pipe | |
|---|---|---|
| RAG pipelineRAG-Pipeline | ~80 LOC~80 Zeilen | ~10 LOC~10 Zeilen |
| Sandbox LLM accessLLM-Zugriff sandboxen | Custom middlewareCustom Middleware | One sandbox_profile blockEin sandbox_profile-Block |
| Switch AI providerKI-Provider wechseln | Rewrite SDK callsSDK-Calls umschreiben | ai_provider "deepseek" |
| Deploy to serverAuf Server deployen | Docker + venv + pipDocker + venv + pip | scp pipe binaryscp pipe binary |
| Parallel LLM callsParallele LLM-Calls | asyncio.gather() boilerplateasyncio.gather()-Boilerplate | >> operator, ai_batch |
| Binary size (with deps)Binary-Größe (mit Deps) | ~500 MB~500 MB | ~7 MB~7 MB |
How these numbers were measured
Wie diese Zahlen gemessen wurden
- RAG and parallel-call timings are representative measurements of the pipeline patterns shown on this page; wall times depend on provider latency.
- RAG- und Parallel-Call-Zeiten sind repräsentative Messungen der hier gezeigten Pipeline-Muster; die Laufzeit hängt von der Provider-Latenz ab.
- Binary sizes:
go build -ldflags="-s -w" -trimpath. UPX figure ismake build-upx. - Binary-Größen:
go build -ldflags="-s -w" -trimpath. UPX-Wert viamake build-upx. - Bytecode VM speedup is the documented ~7× for compute-heavy programs; measure on your machine with
pipe -bench. - Bytecode-VM-Beschleunigung ist der dokumentierte ~7×-Wert für rechenlastige Programme; auf dem eigenen Rechner messen mit
pipe -bench. - Run every example yourself in the browser playground — no install needed.
- Jedes Beispiel selbst ausprobieren im Browser-Playground — ohne Installation.