Skip to content
Calixo

Tokens-per-Second Throughput & Latency Calculator

Find how long an LLM response takes to generate, and how many requests per minute a given throughput can sustain.

Inputs

Paste this into any page — the widget stays live and updates automatically as this calculator improves. Using WordPress or Notion? See the embed guide.

Saved Scenarios

— select 2+ to compare
Inputs updated · Results recalculated · Just now

Total Response Latency (seconds)

20.40

Pure Generation Time (seconds)

20.00

Max Sequential Requests/Minute

2.9

Spark says

How it's calculated
A professional woman presents an infographic comparing Europe and Asia in a bright, modern office setting.
Photo by Kampus Production on Pexels
Detailed close-up of a financial graph on a computer screen showing data trends.
Photo by Markus Winkler on Pexels

Formula

TotalLatency=OutputTokensTokensPerSecond+TimeToFirstTokenTotalLatency = \dfrac{OutputTokens}{TokensPerSecond} + TimeToFirstToken
TimeToFirstToken
— Delay before the model begins streaming its first output token, separate from ongoing generation speed

What is the Tokens-per-Second Throughput & Latency Calculator?

This calculator finds total LLM response latency by combining pure generation time (output tokens divided by the model's tokens-per-second throughput) with time-to-first-token, the initial delay before streaming begins.

Use this when estimating how responsive an AI feature will feel to end users before launch, comparing throughput across different models or providers for a latency-sensitive application, or capacity-planning how many sequential requests a given throughput can handle per minute.

How to use it

  1. 1 Enter how many output tokens the response will contain.
  2. 2 Enter the model's throughput in tokens per second.
  3. 3 Enter the time to first token in milliseconds, and read total latency and max sustainable request rate.

Understanding Tokens-per-Second Throughput & Latency Calculator

LLM response latency — how long a user actually waits for a complete AI-generated response — is made up of two genuinely distinct components that behave differently and matter differently depending on the use case: time-to-first-token, the initial delay before the model begins producing any visible output at all, and ongoing generation throughput, the sustained rate (tokens per second) at which the rest of the response streams in afterward.

This distinction matters enormously for perceived responsiveness, particularly for interactive, chat-style applications. A user watching a chat interface perceives responsiveness primarily through how quickly that first word or token appears on screen — a low time-to-first-token feels snappy and responsive even if the overall generation isn't the fastest available, because the user's attention is captured immediately and the subsequent streaming feels like natural reading pace rather than a wait. Conversely, a high time-to-first-token feels sluggish and unresponsive even paired with genuinely fast subsequent generation, because the user is left staring at an empty response with no visible progress during that initial delay.

For a different class of use case — generating a long-form document, report, or article where the user isn't watching each token stream in real time but is instead waiting for a complete finished output — the calculation shifts, and sustained tokens-per-second throughput becomes the dominant factor in total wait time, since time-to-first-token is a comparatively small, fixed cost against the much larger total generation time for a lengthy output. This is exactly why optimizing for the right latency dimension depends on genuinely understanding how the specific application's users actually experience and perceive the response, not treating all latency-sensitive applications identically.

Measuring throughput accurately for planning purposes requires care around measurement conditions, since a model's throughput figure isn't a fixed universal constant — it depends on the underlying hardware serving the model, the batch size and concurrent request load at measurement time, and even the specific prompt length and content being generated. A throughput figure measured on a single isolated request with no concurrent load can be meaningfully higher than what the same model actually sustains under realistic production traffic, where multiple concurrent requests compete for the same underlying compute resources. Comparing throughput figures across models or providers is only genuinely meaningful when the comparison accounts for this — ideally using figures measured under comparable, realistic concurrent-load conditions rather than best-case isolated benchmarks.

For capacity planning specifically, converting a throughput and latency figure into a maximum sustainable requests-per-minute figure (as this calculator does) gives a useful, concrete estimate of how much sequential request volume a given serving configuration can handle — a genuinely useful input for deciding whether a specific deployment needs additional capacity, load balancing across multiple instances, or a different, higher-throughput serving configuration to meet expected traffic demands.

Worked examples

Advantages

  • Separates time-to-first-token from ongoing generation speed, the two genuinely distinct latency components users actually perceive differently.
  • Works for any model's specific published or measured throughput figure.
  • Useful for both user-experience latency estimation and backend capacity planning.
  • Shows max sequential requests per minute, useful for estimating single-instance serving capacity.

Limitations

  • Assumes constant throughput across the full generation — real throughput can vary somewhat over a long generation, and this calculator uses a single average figure rather than modeling that variation.

Common mistakes

  • ⚠️ Ignoring time-to-first-token when estimating perceived responsiveness, when it's often the dominant factor in how 'snappy' a chat interface feels for short responses, even if pure generation speed is fast.
  • ⚠️ Using a model's peak or best-case throughput figure rather than a realistic average under actual production load, which typically includes contention from concurrent requests that reduces effective per-request throughput.
  • ⚠️ Assuming throughput comparisons across models are apples-to-apples without checking that both were measured under similar conditions (same hardware, same batch size, same prompt length) since these all affect measured throughput significantly.

Tips

  • 💡 Why does time-to-first-token matter separately from tokens-per-second? For short responses or interactive chat, users perceive responsiveness mostly through how quickly the first word appears, not the average speed across the whole response — a low TTFT feels snappy even if overall generation isn't the fastest available.
  • 💡 Measure throughput under realistic concurrent load, not just a single isolated request, since production throughput per request typically drops as concurrent request volume increases on shared infrastructure.
  • 💡 For a chat-style interactive application, prioritize low time-to-first-token; for a long-form batch generation task (an article, a report), prioritize high sustained tokens-per-second instead, since the two matter differently depending on the use case.
  • 💡 Compare throughput figures only when measured under comparable conditions (similar hardware, similar concurrent load, similar prompt length), since raw published numbers can be misleading if measurement conditions differ.

Real-life uses

  • Estimating how responsive an AI feature will feel to end users before launch
  • Comparing throughput across different models or providers for a latency-sensitive application
  • Capacity-planning how many sequential requests a given throughput can handle per minute
  • Choosing between model deployment options based on their latency profile for a specific interactive use case

Frequently asked questions

Why does time-to-first-token matter separately from tokens-per-second?

For short responses or interactive chat, users perceive responsiveness mostly through how quickly the first word appears, not the average speed across the whole response.

Should I use a model's peak throughput figure for planning?

No — measure or use throughput under realistic concurrent load, since production throughput per request typically drops as concurrent request volume increases on shared infrastructure.

Which latency component matters more for my use case?

For chat-style interactive applications, prioritize low time-to-first-token; for long-form batch generation, prioritize high sustained tokens-per-second.

Are throughput figures comparable across different models?

Only when measured under comparable conditions — similar hardware, similar concurrent load, and similar prompt length all affect measured throughput significantly.

Does throughput stay constant throughout a single generation?

Not always in practice — real throughput can vary somewhat over a long generation; this calculator uses a single average figure for simplicity.