benchmarks/inference
last updated Sep 3, 2026

Inference Benchmark

What this benchmark measures. This benchmark measures inference providers on latency-sensitive, deliberately easy tasks spanning lookup, classification, and extraction. Every provider serves the GLM 5.3 Flash model with streaming enabled, reasoning set to low, and per-provider concurrency set to 1. Each provider receives the same 600 questions: 200 meeting-note lookups, 200 ticket-triage classifications, and 200 contract-term extractions.

Which metric answers your question. Start with what matters for your use case.

  • Real-time classification and routing. For systems that are sequential and cannot act until the response is complete, read E2E P50 for typical speed and E2E P95 for consistency.
  • Latency-sensitive workflows with an SLA. For synchronous agents, voice workflows, or customer-facing automations where rare slow responses are unacceptable, read E2E P99 latency together with failure rate.
  • Interactive chat and copilots. When users read the response as it streams, read TTFA P95 for how consistently the visible answer begins, then generation-speed P50 for how quickly it continues.
  • Smooth streaming experiences. For responses where slow token delivery makes the interface feel stalled, read generation-speed P95 or P99. They show the speed at least 95% or 99% of measured responses achieved. Higher is better.
  • Structured extractions. For lookup and extraction tasks such as meeting-note lookup, contract extraction, or any result written directly into another system, read task success rate. Use E2E latency only to break ties among sufficiently reliable providers.
open benchmark runnerProvider adapters, metric derivation, and local reporting are public in openbenchmarks-labs/inference.github →

Provider latency across the balanced pooled request set.

benchmarks/inferencereviewed run
GLM 5.3 Flash inference providers listed alphabetically with balanced pooled latency metrics
ProviderEnd-to-end latencyTime to first output tokenTime to first visible answer tokenToken generation speedTask successFailure rate
P50P95P99P50P95P99P50P95P99P50P95P99
Basetenzai-org/GLM-5.3-Flash331 ms2.29 s3.23 s228 ms499 ms946 ms287 ms1.16 s2.65 s240.5 tok/s61.6 tok/s22.6 tok/s95.8%0.0%no operational failures
DeepInfrazai-org/GLM-5.3-Flash1.83 s11.0 s17.1 s808 ms3.78 s9.08 s1.15 s6.41 s13.2 s69.4 tok/s9.0 tok/s5.0 tok/s95.5%4.0%429 0.3% · transport 3.7%
Fireworks AIaccounts/fireworks/models/glm-5p3-flash1.95 s6.72 s10.5 s586 ms5.67 s8.74 s1.06 s5.83 s8.74 s58.2 tok/s27.9 tok/s14.9 tok/s99.5%0.0%no operational failures
Modalzai-org/GLM-5.3-Flash574 ms1.90 s3.28 s376 ms812 ms2.72 s470 ms1.09 s2.79 s222.2 tok/s84.7 tok/s34.9 tok/s99.3%0.0%no operational failures
Nebiuszai-org/GLM-5.3-Flash1.45 s7.45 s15.0 s925 ms7.11 s14.6 s1.14 s7.11 s14.6 s269.3 tok/s78.8 tok/s39.9 tok/s84.8%14.8%timeout 2.8% · other 4xx 11.5% · transport 0.5%
Novita AIzai-org/glm-5.3-flash1.74 s5.00 s7.25 s1.13 s1.79 s4.28 s1.40 s3.41 s5.58 s60.6 tok/s29.6 tok/s11.6 tok/s94.2%4.0%timeout 0.2% · 429 3.8%
Parasailzai-org/GLM-5.3-Flash1.59 s7.74 s11.5 s856 ms4.96 s10.9 s1.11 s5.54 s10.9 s52.4 tok/s22.8 tok/s15.6 tok/s98.3%1.3%timeout 0.8% · 429 0.2% · transport 0.3%
Telnyxzai-org/GLM-5.3-Flash669 ms2.33 s3.48 s497 ms802 ms2.90 s574 ms1.34 s3.00 s184.3 tok/s67.5 tok/s47.3 tok/s99.5%0.0%no operational failures
Together AIzai-org/GLM-5.3-Flash609 ms3.66 s12.4 s377 ms2.23 s12.2 s393 ms2.26 s12.2 s151.6 tok/s34.0 tok/s21.7 tok/s98.5%1.0%timeout 0.3% · 429 0.5% · 5xx 0.2%
Z.AIglm-5.3-flash1.75 s4.83 s8.59 s1.05 s1.89 s4.76 s1.39 s3.14 s5.00 s56.3 tok/s27.8 tok/s11.5 tok/s97.5%0.2%timeout 0.2%

Rows are listed alphabetically. Generation-speed P95 and P99 are coverage-based slow-tail floors: 95% and 99% of measured responses respectively generated at least that fast.

[02] methodology+
  • Same model. Every measured endpoint must serve GLM 5.3 Flash.
  • Same logical reasoning level. Reasoning is fixed to low. Providers may or may not produce reasoning tokens, the difference between Time to first output token and Time to first visible answer token columns signifies reasoning presence.
  • Same generation contract. Every request is a one-turn, non-tool chat completion in JSON-object mode with streaming enabled, temperature 0, top-p 1, zero presence and frequency penalties, and a 256-token completion ceiling.
  • Comparable endpoint class. Only serverless or shared endpoints are included. Dedicated capacity is outside this comparison.
  • One measurement ruler. A pinned local tiktoken o200k_base tokenizer counts visible answer tokens for every provider; provider-reported usage cannot change the latency or generation-speed comparison.

600 paired rounds

  1. 200 meeting-note lookups, 200 ticket-triage tasks, and 200 contract-term extractions frozen before execution. Selection is a deterministic shuffle of stable item IDs tied to the dataset-release hash, so providers cannot receive different samples.
  2. Cycle through the three task families one item at a time. For each question, prepare all ten provider requests before releasing them through one shared asynchronous barrier.
  3. Rotate provider launch order each round and record each request's monotonic start time.
  4. Wait until all ten calls complete, time out, or fail before starting the next question. A fast provider remains idle while the slowest finishes, preserving per-provider concurrency of exactly one.

Measuring the wait the user actually experiences

  • Every duration uses a monotonic clock beginning immediately before the request enters the HTTP transport. Connection-pool waiting, network transit, provider queueing, model prefill, and generation are included because the user waits through all of them.
  • Time To First Output token (TTFO) ends at the first token-bearing reasoning or visible-answer event. It answers when the model first produces any output, even if that output is reasoning.
  • Time To First Visible Answer token (TTFA) ends when accumulated visible answer content reaches its first local-tokenizer token. Reasoning does not stop this clock, making TTFA the better measure when users cannot see reasoning.
  • TTFO vs TTFA: Even if reasoning effort is set to low, the model may or may not produce reasoning tokens. So time to first visible answer token varies based on reasoning presence. The distinction is necessary because TTFO measures when the first output token arrived (either reasoning or visible answer), making it a fairer measure of latency across providers.
  • E2E latency ends at the final non-empty visible answer delta.

Separate startup delay from answer throughput

  • For a complete visible answer containing N local tokens, generation speed is (N − 1) ÷ (last answer-token time − first answer-token time). Removing the first token prevents startup latency from being counted twice.
  • Only visible answer tokens count. Reasoning tokens are excluded, as are complete answers with fewer than two tokens or without a positive first-to-last generation window; those requests remain visible in metric coverage.
  • P50 describes typical answer throughput. The slow tail is reported as P95 and P99: 95% and 99% of measured responses respectively generated at least that fast.

A fast answer still has to be correct and arrive

  • Meeting-note lookup compares the returned answer with the canonical answer and allowed aliases after trimming, collapsing repeated whitespace, and normalizing case.
  • Ticket triage requires the exact lowercase category-and-priority pair. Contract extraction requires every schema field, exact typed values, and ISO YYYY-MM-DD dates. Neither task receives partial credit in task success.
  • Task success rate is exact-correct, schema-valid answers divided by all 600 submitted requests per provider. A timeout, HTTP failure, malformed JSON, incomplete object, and confidently wrong answer all reduce this rate.
  • Failure rate isolates operational failures: timeout, HTTP 429, other HTTP 4xx, HTTP 5xx, and transport error. The categories are mutually exclusive; a malformed or incorrect HTTP-successful answer lowers task success but is not relabeled as a transport failure.
  • Latency and generation-speed percentiles use only requests that produced the required visible-answer timing sample. Failed requests are not accounted for in latency calculations, which is why task success and failure rate must be read beside the speed columns.

Frequently asked questions

What does this inference benchmark measure?

It measures the delay a single user experiences on short, deliberately easy structured tasks. Every provider serves the same GLM 5.3 Flash model with streaming enabled and reasoning set to low. Latency, streaming speed, task success, and failures are reported separately; there is no single headline metric.

What is the difference between TTFO and TTFA?

TTFO ends when the first token-bearing reasoning or answer event arrives. TTFA ends when the first visible answer token arrives. They are equal when a response begins with the answer; TTFA is later when hidden reasoning is emitted first.

How should generation-speed P95 and P99 be read?

Higher generation speed is better. Generation-speed P95 is the speed that at least 95% of measured responses achieved, while P99 is the speed that at least 99% achieved. These are coverage-based slow-tail floors, so larger values are better.

How are providers ordered and ranked?

The table is listed alphabetically so providers are easy to find. E2E latency, response start, generation speed, task success, and operational failure rate should be selected according to the application rather than collapsed into one universal ranking.

What is the fastest inference provider for latency-sensitive applications?

Use the provider with the lowest E2E latency p99 in the current table when your priority is limiting the longest complete-response waits. E2E p95 describes the broader slow tail, while p50 describes a typical successful request. Check task success and failure rate before treating the latency leader as the best production choice.

Which inference API has the fastest streaming token generation?

Compare output tokens per second after the first visible answer token. P50 represents typical generation speed, while P95 and P99 show the speed reached by at least 95% and 99% of measured responses. TTFA must be considered separately because an API can generate quickly after starting but still make the user wait for visible output.

Which LLM API provider is the most accurate in this benchmark?

The highest task success rate identifies the provider that returned the most exact-correct, schema-valid answers across all 600 submitted requests. This denominator includes operational failures and successful HTTP responses that were malformed, incomplete, or incorrect, so it measures usable result yield rather than accuracy on answers alone.

How should I choose the best inference provider for a real-time workload?

Start with the metric that blocks the user: TTFA for the first visible answer, E2E latency for a complete structured result, or generation speed for longer streamed output. Then set minimum task-success and maximum failure-rate requirements. A provider is a strong fit only when it clears both the experience target and the reliability threshold.

Does the fastest time to first token mean the lowest LLM API latency?

No. TTFO measures the first reasoning or visible-answer token, and TTFA measures the first visible answer token. Neither measures when the response is complete. For classification, lookup, and extraction APIs that must return a complete object before the application can continue, E2E latency is the relevant finish line.

Choosing an inference provider

Fastest inference provider: measured end-to-end latency → · Fastest LLM API provider → · Fastest streaming inference API: measured generation speed → · Most accurate inference provider → · Most accurate LLM API provider → · Best inference provider: accuracy and latency → · LLM inference provider with the lowest latency → · Best inference provider for my AI agent → · Fastest inference provider for my AI agent → · Most accurate inference provider for my AI agent → · Best inference provider for GLM 5.3 Flash → · Fastest inference provider for GLM 5.3 Flash → · Most accurate inference provider for GLM 5.3 Flash → · Best inference provider for small tasks → · Fastest inference provider for small tasks → · Baseten alternatives, benchmarked → · Together AI alternatives, benchmarked → · Fireworks AI alternatives, benchmarked → · Baseten vs Fireworks AI → · Baseten vs Together AI → · Fireworks AI vs Together AI → · Best inference provider for chat applications → · Best provider for classification and intent routing → · Fastest provider for classification and ticket triage → · Best provider for structured extraction and JSON mode → · Best provider for RAG answer extraction and document lookup → · Best provider for customer support automation → · Best provider for chatbots and copilots → · Best provider for synchronous workflows with an SLA → · Best provider for companies undergoing AI transformation →