Prompt processing can outrun token generation because an accelerator evaluates many input tokens in parallel but must decode output tokens sequentially.
A home AI dashboard may report hundreds or thousands of prompt tokens per second while streamed output arrives at a much lower rate. Those numbers describe different execution phases rather than contradictory measurements. Prefill processes the supplied context as a block and builds attention state, whereas decode repeatedly runs the model to accept one new token at a time. The gap depends on prompt length, model size, memory bandwidth, batching, cache layout, and whether background requests share the same accelerator.
Prefill and Decode Solve Different Computational Problems
Prompt processing, often called prefill, evaluates the input sequence and creates the KV state needed for later generation. Decode starts only after that initial state exists and extends the sequence token by token.
LLM serving research describes compute-bound prefill and memory-bandwidth-bound decode as distinct phases with different hardware behavior.
The same model can therefore produce a high prefill throughput figure and a much lower output-token figure without any malfunction. Each metric counts tokens passing through a different execution path.
Prompt Tokens Can Be Evaluated in Large Parallel Matrices
During prefill, many query positions are available at once. Matrix multiplications can combine work across the sequence, batch, heads, and hidden dimensions, giving the accelerator enough parallel operations to remain busy.
FlashAttention reduces attention overhead through tiled attention computation that avoids repeatedly materializing the full attention matrix in slow device memory.
Longer prompts increase total prefill work, but they can also improve arithmetic utilization until memory capacity, kernel limits, or attention complexity becomes dominant.
This is throughput across the input block, not an indication that the server could emit the same number of independent output tokens each second.
Decode Cannot Finalize the Next Token Before the Current One
Autoregressive generation samples or selects one token, appends it to the sequence, and then runs another model step conditioned on that accepted result. The next accepted token is not known in advance.
DistServe separates the two phases because decode iterations repeatedly access model weights and active KV state while producing only a small amount of new output per sequence.
Batching several users can parallelize multiple decode sequences, but one conversation still advances through a chain of dependent token decisions.
Speculative decoding can verify several drafted candidates together, yet ordinary decode remains serial when no candidates are accepted in advance.
High Prompt Throughput Can Still Produce a Long First-Token Delay
Tokens per second divides completed prompt work by prompt size. A very long context can have impressive throughput while still taking several seconds before the first generated token appears.
ZimaSpace separates loading, prompt evaluation, and generation in its discussion of AI latency stages. A warm model removes the reload delay but does not remove the cost of evaluating a large prompt.
Time to first token is therefore the better interactive measure for prefill. Prompt tokens per second is useful for comparing how efficiently the runtime processes different input lengths.
Long Prefills Can Slow Users Who Are Already Decoding
A compute-heavy document prompt can enter the same accelerator while another user is receiving streamed tokens. If the runtime combines both workloads without control, the large prefill can lengthen decode iterations.
DistServe reports strong prefill-decode interference when the two phases are colocated and scheduled together.
The server may still show high aggregate utilization, but the active chat experiences larger gaps between tokens. Throughput and user-visible smoothness can move in opposite directions.
Separate workers, phase-aware scheduling, or reserved decode opportunities can protect interactive output when hardware and runtime support them.
Chunking Trades Some Prefill Efficiency for Better Responsiveness
A runtime can split one long prompt into smaller chunks and interleave those chunks with decode work. The prompt takes more scheduling turns, but no single prefill monopolizes one very long iteration.
Sarathi-Serve uses chunked prefills to reduce interference while maintaining useful batching opportunities.
The best chunk size depends on prompt lengths, model architecture, accelerator capacity, and the latency target for active conversations.
Measure prompt-processing time, time to first token, time between tokens, and output tokens per second separately. The phase with the lower headline throughput is not automatically the phase causing the userโs longest wait.
Tech & AI HUB
More to Read

How Does a Secret Broker Give an AI Agent Credentials Without Exposing Them in Prompts?
Follow workload identity, policy, token issuance, request injection, redaction, expiry, and revocation through a secretless home AI agent architecture.

How Does a Tool Sandbox Contain AI Agent Side Effects?
See how isolation, capability gates, disposable state, egress control, quotas, and audit logs bound AI agent side effects without proving actions safe.

How Does Constrained Decoding Produce Schema-Valid JSON?
Understand schema compilation, token masking, parser state, supported subsets, latency, truncation, and why structural validity does not ensure correct values.

