SGLang pairs RadixAttention prefix-cache reuse with a structured-generation DSL, which makes it a win for agentic, JSON-extraction, and long shared prefix workloads where vLLM is leaving performance on the table.
Picture a print shop. The shop already has a big sign template printed once at the top of every poster. With most printers, each poster reprints the whole template even though it never changes. SGLang's print shop remembers the template and only prints the part that changes for each customer, so 50 posters cost barely more than one. It also has a stencil system that forces every poster to fit a specific shape, so you never get one that bleeds outside the boundary. For shops that print lots of templated posters and care about strict shapes, this saves a huge amount of ink and rejects. For shops printing one-off freeform art, the fancier setup is overkill.
Concept explanation~2 min read
Everything you need to truly understand this topic: intuition, mechanics, step by step explanation, code, formulas, and worked example. Click to expand.
Concept explanation~2 min read
Everything you need to truly understand this topic: intuition, mechanics, step by step explanation, code, formulas, and worked example. Click to expand.
vLLM owned self-hosted LLM serving from 2023 onward and earned that position with PagedAttention and continuous batching. SGLang arrived after and avoided the trap of trying to beat vLLM at chat throughput; instead it attacked a specific workload class (structured generation and shared prefix heavy agents) where vLLM was leaving real performance on the table. By 2026 the result is a healthy split: vLLM as the throughput default, SGLang as the structured and agentic specialist, TGI as the HF-ecosystem-integrated option.
This card walks through what RadixAttention actually does, why the SGLang DSL matters for structured-output workloads, which production patterns make the SGLang switch worth it, and where vLLM is still the right answer.
RadixAttention: prefix-aware KV cache reuse
vLLM's PagedAttention manages KV cache as fixed-size pages within a request, eliminating the contiguous-slab waste of naive serving. It is brilliant at that job. What it does not do is share prefill work across requests.
In a production agent workload every request typically sends an identical system-prompt prefix containing the persona, tool definitions, response-format instructions, and policy guardrails. That prefix can easily be 1,000-3,000 tokens. Without prefix sharing, every request recomputes the KV cache for those tokens. Even at vLLM's throughput, that is meaningful wasted GPU time multiplied by request volume.
RadixAttention indexes prefixes in a radix tree. When a new request arrives, the runtime walks the tree to find the longest matching prefix already in cache and reuses those KV blocks instead of recomputing. The prefill saving is roughly proportional to the shared-prefix length. For a 2,000-token system prompt shared across 100 concurrent requests, the savings approach 99 percent of the prefill cost on the shared portion.
The technique only helps when prefixes actually repeat. For per request unique prompts (a typical chat completion where the user's message is the entire prompt) the radix tree finds nothing reusable and you pay tree-overhead with no benefit. The win is workload shape dependent.
Situations where this technique stops working.
2–4 min · Everything important, quickly.
Real products, models, and research that use this idea.
- LMSYS uses SGLang to serve their internal Chatbot Arena infrastructure, leveraging RadixAttention for long shared judge prompts.
- Agent-platform teams running tool-use loops with 2k-token system prompts report 30-50 percent prefill savings switching from vLLM to SGLang on the same hardware.
What an interviewer would ask next. Try answering before peeking at the approach.
QHow would you measure whether RadixAttention is actually helping your workload?
Instrument prefill-token time per request and look at the per shared prefix cache hit rate; compare it to a vLLM baseline on the same traffic shape.
Red flags & common mistakes
The phrases that signal junior thinking. Click to expand.
Red flags & common mistakes
The phrases that signal junior thinking. Click to expand.
Picking SGLang for straight chat by reflex. Its wins are real but specific; for plain chat without structured output or shared prefixes, vLLM is the safer default.
60 second bullets to scan on the way to the call.
Primary sources. Browse if you want the original framing.
Same topic, related formats. Practice these next.