Throughput vs Latency: Choosing the Wrong Optimization Target

Throughput and latency are different objectives that often compete for the same resources. This article explains the trade-off, why batch size reshapes behavior, and why percentiles matter more than averages in latency-sensitive systems.

Throughput vs Latency: Choosing the Wrong Optimization Target
Written by TechnoLynx Published on 16 Apr 2026

In one room, the throughput team celebrates. In the next room, the serving team is debugging latency spikes.

They’re looking at the same system, the same GPU, the same deployment. The throughput number went up after a batching change. Tokens per second are higher than they’ve ever been. Meanwhile, the p99 response time has doubled, the user-facing SLO is being violated, and the serving team is trying to figure out what went wrong.

Nothing went wrong. The system was optimized for one objective, and it degraded on another. This is not a bug — it’s the central tension in inference system design, and it shows up every time someone treats “performance” as a one-dimensional concept.

Throughput and latency are different axes, and in most practical AI systems they compete for the same resources. Optimizing for one without tracking the other is how you end up with a system that looks great by one measure and fails by another.

Throughput and latency answer different questions

Throughput measures volume over time: how many tokens, images, or inference steps the system can complete in a sustained window — exactly the planning lens in steady-state performance, cost, and capacity planning. It answers the capacity question — “how much work can this system handle?”

Latency measures time per unit of work: how long a single request takes from the caller’s perspective. It answers the responsiveness question — “how long does someone wait?”

These sound like they should be correlated — more throughput should mean faster individual requests, right? In practice, the relationship is often inverse once you push past the system’s natural operating point, because the mechanisms that increase throughput frequently increase per-request latency as a side effect.

Batch size is where the trade-off becomes concrete

Batching is the clearest lever for this tension, and on GPU-based inference systems it’s usually the primary one.

Larger batches improve throughput because they amortize fixed overhead: kernel launch cost, memory allocation, scheduling, and framework-level bookkeeping. A batch of 32 requests pays these overheads once rather than 32 times, and the GPU’s parallel architecture means the incremental cost of additional items within a batch is often much less than the cost of processing them individually. So total tokens per second goes up.

But from an individual request’s perspective, larger batches mean waiting. Each request must wait until enough peers have arrived to form a batch (queueing delay), and then the entire batch must complete before any individual result is returned (processing delay). Both of these push per-request latency upward.

This isn’t a tuning problem with a universally correct answer. It’s a design trade-off, and the correct operating point depends entirely on what the system is optimizing for. A throughput-maximizing batch configuration looks very different from a latency-minimizing one, and a system optimized for one will underperform on the other — by design, not by defect.

We find that the teams who get into trouble are not the ones who make this trade-off explicitly. It’s the ones who make it accidentally — by optimizing for whatever the dashboard emphasizes without realizing they’ve shifted the system into a regime that violates a different objective.

Averages hide what users actually experience

In latency-sensitive systems, average latency is one of the least useful statistics you can report, and it’s often the one that gets the most attention.

The problem is that the average is dominated by the easy cases. If 95% of requests complete in 40ms and 5% take 500ms, the average looks like ~63ms — a number that describes neither the experience of the majority (40ms) nor the experience of the tail (500ms). The system looks “fine” by the average while 1 in 20 users has a genuinely degraded experience.

This is why percentile metrics — p50, p95, p99, sometimes p999 — matter so much for serving workloads. They tell you what happens at different points in the distribution, including the tail, which is usually where operational pain concentrates: timeout-triggering latency, retries, and cascading failures in downstream systems.

Contention, queueing bursts, GC pauses, CUDA context switching, and intermittent memory pressure all show up in the tail long before they affect the mean. A system can have a stable average while the tail quietly grows worse — especially under increased load, which is, of course, exactly when it matters most.

Model latency and system latency: don’t collapse them

Another common confusion is treating “model latency” and “system latency” as interchangeable.

Model latency covers the forward pass execution on the device — the time from input tensors on the GPU to output tensors on the GPU. System latency includes everything else: request parsing, tokenization, batching policy decisions, queueing, memory management, output detokenization, and transport back to the caller.

In a well-optimized serving system, model latency may account for only a fraction of end-to-end time. The rest is system overhead — not overhead in the pejorative sense, but the real mechanical cost of operating a service. If you measure only model latency (because it’s what profiling tools show most clearly), you may conclude the GPU is fast while the user is waiting on something the GPU has nothing to do with.

Collapsing these into one number creates an illusion of clarity while hiding the actual lever you’d need to pull. And when someone says “the GPU is fast but the service is slow,” the explanation is almost always in this gap.

Declaring the objective is not optional

The practical consequence of this tension is that every performance claim about an inference system needs to state what it’s optimizing for. A throughput number without a latency constraint is incomplete. A latency number without a throughput context is incomplete. A benchmark that just reports “tokens per second” without specifying the batch configuration, the concurrency model, and whether latency was constrained to anything is reporting a number you can cite but not one you can safely plan against.

As we discussed in the context of peak vs. steady-state behavior, the temporal regime of measurement matters too — a system’s throughput-latency trade-off can itself shift as the system transitions from peak to steady-state operation.

The organizations that navigate this well are the ones that declare their objective up front: “we optimize for p99 latency under this concurrency level” or “we optimize for sustained throughput with latency bounded below X.” That declaration constrains the design space and makes performance results interpretable. Without it, you’re optimizing a number without knowing whether the thing the number represents is the thing your users actually care about.

Cost, Efficiency, and Value Are Not the Same Metric

Cost, Efficiency, and Value Are Not the Same Metric

17/04/2026

Performance per dollar. Tokens per watt. Cost per request. These sound like the same thing said differently, but they measure genuinely different dimensions of AI infrastructure economics. Conflating them leads to infrastructure decisions that optimize for the wrong objective.

Precision Is an Economic Lever in Inference Systems

Precision Is an Economic Lever in Inference Systems

17/04/2026

Precision isn't just a numerical setting — it's an economic one. Choosing FP8 over BF16, or INT8 over FP16, changes throughput, latency, memory footprint, and power draw simultaneously. For inference at scale, these changes compound into significant cost differences.

Precision Choices Are Constrained by Hardware Architecture

Precision Choices Are Constrained by Hardware Architecture

17/04/2026

You can't run FP8 inference on hardware that doesn't have FP8 tensor cores. Precision format decisions are conditional on the accelerator's architecture — its tensor core generation, native format support, and the efficiency penalties for unsupported formats.

Steady-State Performance, Cost, and Capacity Planning

Steady-State Performance, Cost, and Capacity Planning

17/04/2026

Capacity planning built on peak performance numbers over-provisions or under-delivers. Real infrastructure sizing requires steady-state throughput — the predictable, sustained output the system actually delivers over hours and days, not the number it hit in the first five minutes.

How Benchmark Context Gets Lost in Procurement

How Benchmark Context Gets Lost in Procurement

16/04/2026

A benchmark result starts with full context — workload, software stack, measurement conditions. By the time it reaches a procurement deck, all that context is gone. The failure mode is not wrong benchmarks but context loss during propagation.

Building an Audit Trail: Benchmarks as Evidence for Governance and Risk

Building an Audit Trail: Benchmarks as Evidence for Governance and Risk

16/04/2026

High-value AI hardware decisions need traceable evidence, not slide-deck bullet points. When benchmarks are documented with methodology, assumptions, and limitations, they become auditable institutional evidence — defensible under scrutiny and revisitable when conditions change.

The Comparability Protocol: Why Benchmark Methodology Defines What You Can Compare

The Comparability Protocol: Why Benchmark Methodology Defines What You Can Compare

16/04/2026

Two benchmark scores can only be compared if they share a declared methodology — the same workload, precision, measurement protocol, and reporting conditions. Without that contract, the comparison is arithmetic on numbers of unknown provenance.

A Decision Framework for Choosing AI Hardware

A Decision Framework for Choosing AI Hardware

16/04/2026

Hardware selection is a multivariate decision under uncertainty — not a score comparison. This framework walks through the steps: defining the decision, matching evaluation to deployment, measuring what predicts production, preserving tradeoffs, and building a repeatable process.

How Benchmarks Shape Organizations Before Anyone Reads the Score

How Benchmarks Shape Organizations Before Anyone Reads the Score

16/04/2026

Before a benchmark score informs a purchase, it has already shaped what gets optimized, what gets reported, and what the organization considers important. Benchmarks function as decision infrastructure — and that influence deserves more scrutiny than the number itself.

Accuracy Loss from Lower Precision Is Task‑Dependent

Accuracy Loss from Lower Precision Is Task‑Dependent

16/04/2026

Reduced precision does not produce a uniform accuracy penalty. Sensitivity depends on the task, the metric, and the evaluation setup — and accuracy impact cannot be assumed without measurement.

Precision Is a Design Parameter, Not a Quality Compromise

Precision Is a Design Parameter, Not a Quality Compromise

16/04/2026

Numerical precision is an explicit design parameter in AI systems, not a moral downgrade in quality. This article reframes precision as a representation choice with intentional trade-offs, not a concession made reluctantly.

Mixed Precision Works by Exploiting Numerical Tolerance

Mixed Precision Works by Exploiting Numerical Tolerance

16/04/2026

Not every multiplication deserves 32 bits. Mixed precision works because neural network computations have uneven numerical sensitivity — some operations tolerate aggressive precision reduction, others don't — and the performance gains come from telling them apart.

Quantization Is Controlled Approximation, Not Model Damage

16/04/2026

When someone says 'quantize the model,' the instinct is to hear 'degrade the model.' That framing is wrong. Quantization is controlled numerical approximation — a deliberate engineering trade-off with bounded, measurable error characteristics — not an act of destruction.

GPU Utilization Is Not Performance

15/04/2026

The utilization percentage in nvidia-smi reports kernel scheduling activity, not efficiency or throughput. This article explains the metric's exact definition, why it routinely misleads in both directions, and what to pair it with for accurate performance reads.

FP8, FP16, and BF16 Represent Different Operating Regimes

15/04/2026

FP8 is not just 'half of FP16.' Each numerical format encodes a different set of assumptions about range, precision, and risk tolerance. Choosing between them means choosing operating regimes — different trade-offs between throughput, numerical stability, and what the hardware can actually accelerate.

Peak Performance vs Steady‑State Performance in AI

15/04/2026

AI systems rarely operate at peak. This article defines the peak vs. steady-state distinction, explains when each regime applies, and shows why evaluations that capture only peak conditions mischaracterize real-world throughput.

The Software Stack Is a First‑Class Performance Component

15/04/2026

Drivers, runtimes, frameworks, and libraries define the execution path that determines GPU throughput. This article traces how each software layer introduces real performance ceilings and why version-level detail must be explicit in any credible comparison.

The Mythology of 100% GPU Utilization

15/04/2026

Is 100% GPU utilization bad? Will it damage the hardware? Should you be worried? For datacenter AI workloads, sustained high utilization is normal — and the anxiety around it usually reflects gaming-era intuitions that don't apply.

Why Benchmarks Fail to Match Real AI Workloads

15/04/2026

The word 'realistic' gets attached to benchmarks freely, but real AI workloads have properties that synthetic benchmarks structurally omit: variable request patterns, queuing dynamics, mixed operations, and workload shapes that change the hardware's operating regime.

Why Identical GPUs Often Perform Differently

15/04/2026

'Same GPU' does not imply the same performance. This article explains why system configuration, software versions, and execution context routinely outweigh nominal hardware identity.

Training and Inference Are Fundamentally Different Workloads

15/04/2026

A GPU that excels at training may disappoint at inference, and vice versa. Training and inference stress different system components, follow different scaling rules, and demand different optimization strategies. Treating them as interchangeable is a design error.

Performance Ownership Spans Hardware and Software Teams

15/04/2026

When an AI workload underperforms, attribution is the first casualty. Hardware blames software. Software blames hardware. The actual problem lives in the gap between them — and no single team owns that gap.

Performance Emerges from the Hardware × Software Stack

15/04/2026

AI performance is an emergent property of hardware, software, and workload operating together. This article explains why outcomes cannot be attributed to hardware alone and why the stack is the true unit of performance.

Power, Thermals, and the Hidden Governors of Performance

14/04/2026

Every GPU has a physical ceiling that sits below its theoretical peak. Power limits, thermal throttling, and transient boost clocks mean that the performance you read on the spec sheet is not the performance the hardware sustains. The physics always wins.

Why AI Performance Changes Over Time

14/04/2026

That impressive throughput number from the first five minutes of a training run? It probably won't hold. AI workload performance shifts over time due to warmup effects, thermal dynamics, scheduling changes, and memory pressure. Understanding why is the first step toward trustworthy measurement.

CUDA, Frameworks, and Ecosystem Lock-In

14/04/2026

Why is it so hard to switch away from CUDA? Because the lock-in isn't in the API — it's in the ecosystem. Libraries, tooling, community knowledge, and years of optimization create switching costs that no hardware swap alone can overcome.

GPUs Are Part of a Larger System

14/04/2026

CPU overhead, memory bandwidth, PCIe topology, and host-side scheduling routinely limit what a GPU can deliver — even when the accelerator itself has headroom. This article maps the non-GPU bottlenecks that determine real AI throughput.

Why AI Performance Must Be Measured Under Representative Workloads

14/04/2026

Spec sheets, leaderboards, and vendor numbers cannot substitute for empirical measurement under your own workload and stack. Defensible performance conclusions require representative execution — not estimates, not extrapolations.

Low GPU Utilization: Where the Real Bottlenecks Hide

14/04/2026

When GPU utilization drops below expectations, the cause usually isn't the GPU itself. This article traces common bottleneck patterns — host-side stalls, memory-bandwidth limits, pipeline bubbles — that create the illusion of idle hardware.

Why GPU Performance Is Not a Single Number

14/04/2026

AI GPU performance is multi-dimensional and workload-dependent. This article explains why scalar rankings collapse incompatible objectives and why 'best GPU' questions are structurally underspecified.

What a GPU Benchmark Actually Measures

14/04/2026

A benchmark result is not a hardware measurement — it is an execution measurement. The GPU, the software stack, and the workload all contribute to the number. Reading it correctly requires knowing which parts of the system shaped the outcome.

Why Spec‑Sheet Benchmarking Fails for AI

14/04/2026

GPU spec sheets describe theoretical limits. This article explains why real AI performance is an execution property shaped by workload, software, and sustained system behavior.

Cracking the Mystery of AI’s Black Box

4/02/2026

A guide to the AI black box problem, why it matters, how it affects real-world systems, and what organisations can do to manage it.

Inside Augmented Reality: A 2026 Guide

3/02/2026

A 2026 guide explaining how augmented reality works, how AR systems blend digital elements with the real world, and how users interact with digital content through modern AR technology.

Smarter Checks for AI Detection Accuracy

2/02/2026

A clear guide to AI detectors, why they matter, how they relate to generative AI and modern writing, and how TechnoLynx supports responsible and high‑quality content practices.

Choosing Vulkan, OpenCL, SYCL or CUDA for GPU Compute

28/01/2026

A practical comparison of Vulkan, OpenCL, SYCL and CUDA, covering portability, performance, tooling, and how to pick the right path for GPU compute across different hardware vendors.

Deep Learning Models for Accurate Object Size Classification

27/01/2026

A clear and practical guide to deep learning models for object size classification, covering feature extraction, model architectures, detection pipelines, and real‑world considerations.

TPU vs GPU: Which Is Better for Deep Learning?

26/01/2026

A practical comparison of TPUs and GPUs for deep learning workloads, covering performance, architecture, cost, scalability, and real‑world training and inference considerations.

CUDA vs ROCm: Choosing for Modern AI

20/01/2026

A practical comparison of CUDA vs ROCm for GPU compute in modern AI, covering performance, developer experience, software stack maturity, cost savings, and data‑centre deployment.

Best Practices for Training Deep Learning Models

19/01/2026

A clear and practical guide to the best practices for training deep learning models, covering data preparation, architecture choices, optimisation, and strategies to prevent overfitting.

Measuring GPU Benchmarks for AI

15/01/2026

A practical guide to GPU benchmarks for AI; what to measure, how to run fair tests, and how to turn results into decisions for real‑world projects.

GPU‑Accelerated Computing for Modern Data Science

14/01/2026

Learn how GPU‑accelerated computing boosts data science workflows, improves training speed, and supports real‑time AI applications with high‑performance parallel processing.

CUDA vs OpenCL: Picking the Right GPU Path

13/01/2026

A clear, practical guide to cuda vs opencl for GPU programming, covering portability, performance, tooling, ecosystem fit, and how to choose for your team and workload.

Performance Engineering for Scalable Deep Learning Systems

12/01/2026

Learn how performance engineering optimises deep learning frameworks for large-scale distributed AI workloads using advanced compute architectures and state-of-the-art techniques.

Choosing TPUs or GPUs for Modern AI Workloads

10/01/2026

A clear, practical guide to TPU vs GPU for training and inference, covering architecture, energy efficiency, cost, and deployment at large scale across on‑prem and Google Cloud.

GPU vs TPU vs CPU: Performance and Efficiency Explained

10/01/2026

Understand GPU vs TPU vs CPU for accelerating machine learning workloads—covering architecture, energy efficiency, and performance for large-scale neural networks.

Energy-Efficient GPU for Machine Learning

9/01/2026

Learn how energy-efficient GPUs optimise AI workloads, reduce power consumption, and deliver cost-effective performance for training and inference in deep learning models.

Accelerating Genomic Analysis with GPU Technology

8/01/2026

Learn how GPU technology accelerates genomic analysis, enabling real-time DNA sequencing, high-throughput workflows, and advanced processing for large-scale genetic studies.

Back See Blogs
arrow icon