AI DevelopmentMethodology29 min readPublished Aug 30, 2026

Three claims · one fortnight · three different denominators

What a 14 Times Faster AI Claim Actually Measures

A speedup is a ratio. Vendors publish the numerator in the headline and the denominator somewhere else — and in August 2026 two claims about the same base model, released on the same day, turned out not to be comparable at all. What a speedup is measured against is the whole claim.

DA
Digital Applied Team
Senior strategists · Published August 30, 2026
PublishedAugust 30, 2026
Read time29 min
SourcesVendor primaries · MLCommons rules
Speedup claims in one fortnight
3
Aug 13 to Aug 27, 2026 · two share the number 14x
Spread inside one vendor's own table
1.76×
8.16× at a 5 s clip vs 14.38× at 15 s, same checkpoint
Published multiples for one codebase
5
TypeScript 7 on vscode · 8.0× to 16.7× first-party
MLPerf fields requiring a meaningful answer
27
Of 36 system-description fields, incl. cooling type

A speedup claim is a ratio, and reading one means finding the number underneath it. Between August 13 and August 27, 2026, three separate AI speed claims landed — two of them carrying the identical headline figure of fourteen times faster — and they measured three different things. One disclosed every condition it was taken under. One disclosed no baseline at all. The third describes the same base model as the first and is still not comparable to it.

This is deliberately a narrower subject than it might look, so it is worth drawing the line in the first two paragraphs. A great deal has been written lately about what a vendor number measured — which subset, which harness, which version, whether the leaderboard was contaminated. Our own archive holds several of those, and the leaderboard-methodology guide is the one to read if a ranking is what you are trying to trust. A leaderboard tells you where something ranks. A speedup tells you how much faster something is than something else you have to go find — and this post is about the something else. Every post in that genre is about what a number measured; this one is about what a number was divided by. That is a different question with a different failure mode, and the rest of this post is a method for answering it.

What follows is a method rather than a verdict. Nothing here accuses a vendor of dishonesty, and the strongest single exhibit is a primary source that published every condition it measured under and still produced a headline nobody can compare to anything. We work through the pair, then the taxonomy of things a speedup can be measured against, then the conditions that move a ratio without anyone changing the product, then what a real disclosure standard requires, then a four-question checklist for the next claim you see. The worked example is video generation, and it is confined to one section — the compilers, package managers and inference engines carry the rest, because the same arithmetic applies everywhere.

Key takeaways
  1. 01
    Two identical headline numbers, two unrelated things.FastVideo's FastH3 Preview v1 published 14.38× on August 27, 2026 with every condition named. OpenAI's GPT-5.6 Sol Ultrafast preview published “up to 14×” on August 13 with no baseline workload, prompt set, or reasoning-effort setting disclosed. One is video generation against a matched dense baseline; the other is LLM inference against something unstated. The shared number is a coincidence of rounding.
  2. 02
    A well-disclosed primary refutes its own headline.FastVideo's own table gives 8.16× at a 5-second clip and 14.38× at a 15-second clip — same checkpoint, same GPU, same method, same day, a 1.76× swing from clip length alone. Across all six VSA cells the spread is 14.38× against 6.65×, or 2.16×. Nobody hid anything; the headline is a six-dimensional result projected onto one number.
  3. 03
    FastH3 is FastVideo's release, not MiniMax's.The primary's own citation block reads author = {FastVideo Team} — FastVideo / Hao AI Lab at UC San Diego, with Nuva Lab and the NVIDIA FastGen team, post-trained on MiniMax's H3-Base weights, which the acknowledgements thank MiniMax for releasing. A widely-read aggregator headline dated August 28, 2026 compressed a congratulation into an announcement. That is the same information loss as dropping a denominator.
  4. 04
    One compiler, one codebase, five published multiples.TypeScript 7 on the vscode repository has been published first-party at 10.4× (2025 command-line type-check), 11.9× (2026 GA full build at the default --checkers 4), 16.7× (same run at --checkers 8) and 8.0× (editor project load). A fifth figure, 7.2× for a --noEmit run, appears only secondhand. Microsoft's headline is “10x”; its own GA body text says speedups “typically yield … between 8x and 12x on full builds”.
  5. 05
    MLPerf makes you disclose the cooling. A blog does not.MLPerf Inference submissions carry a system-description file with 36 fields, 27 of them marked as requiring a meaningful response — including cooling type, memory configuration, network topology and accelerator interconnect. The TypeScript 7 GA post, which sits at the honest end of this industry, says its two tables were run “on the same machine” and never names the machine. Neither is wrong for its purpose. The gap between them is the whole article.

01The FortnightThree speedup claims, one fortnight, three different measurements.

Start with the coincidence, because it does the teaching for free. In a fourteen-day window in August 2026, three parties published speed claims about AI inference. Two of them used the same headline number. None of the three is comparable to either of the others, and the reasons differ in each pairing.

On August 13, 2026, OpenAI previewed an Ultrafast tier for GPT-5.6 Sol and described it as up to fourteen times standard speed. We covered that preview when it landed, and the relevant detail for this post is a negative one: our write-up of the Ultrafast preview records no disclosed baseline workload, no prompt set and no reasoning-effort setting. Even the Standard-tier figure that the multiple would have to be measured against is an inference we drew from two separate vendor numbers, and that post labels it as our inference rather than a vendor statement. We are not upgrading that hedge here.

Then, on August 27, two claims arrived on the same day about the same open-weights base model. FastVideo — the Hao AI Lab team at UC San Diego, working with Nuva Lab and the NVIDIA FastGen team — released FastH3 Preview v1, a four-step distilled derivative of MiniMax’s H3-Base weights, headlined “Up to 14x speedup on a single Nvidia Blackwell GPU”. The same day, the inference platform fal announced H3 Max, another post-trained derivative of the same base model, at roughly thirty-five times the throughput of its own hosted official MiniMax H3 endpoint.

August 27, 2026
FastH3 Preview v1 — fully disclosed
14.38× · FastVideo / Hao AI Lab @ UCSD

The denominator is named in the same table as the ratio: Base H3 with dense FA4 attention, run by the same team on the same hardware for the same clip duration. The conditions are named too — one B200, the 15-second shape, the VSA / Data-Free checkpoint, the median of three timed requests after one full warmup, model loading and compilation excluded, and an end-to-end figure that includes encoding, denoising, decoding, audio, muxing and file output. This is the good example in this post.

Denominator: in the table
August 13, 2026
GPT-5.6 Sol Ultrafast — no baseline stated
“up to 14×” · OpenAI

The same headline number as the row above, attached to an entirely different kind of measurement: text inference rather than video generation. Our own coverage of the preview records no disclosed baseline workload, no prompt set and no reasoning-effort setting, which means the multiple cannot be located anywhere on a taxonomy of denominators. It is not that the number is wrong. It is that there is nothing published to divide by.

Denominator: not published
August 27, 2026
H3 Max — same base model
~35× · fal

A different post-trained derivative of the same open-weights base model as the first row, announced the same day, and still not comparable to it. The denominator is named — fal's own hosted official MiniMax H3 endpoint, so fal controls both sides of the ratio — but the clip length, warmup, exclusions, statistic and sample count behind the 35× are not published. H3 Max was trained and served on GB200 NVL72, which is a serving fact rather than the baseline.

Denominator: named, conditions absent

Read down that list and the disclosure spectrum is the finding, not the numbers. Rows one and three share a base model, a publication date and a modality, and are still not comparable, because the clip length, the hardware, the method and the baseline all differ. Rows one and two share a headline number and nothing else — one is a video-generation pipeline timed end to end, the other is a text inference tier. If you saw all three in a feed on August 28 you would have had no way to rank them, and ranking them was never a coherent operation in the first place.

One correction belongs here rather than in a footnote, because it is the most common error in circulation about the first row. FastH3 Preview v1 is FastVideo’s release, not MiniMax’s. The primary’s own citation block gives the author as the FastVideo Team; its acknowledgements thank MiniMax for releasing H3-Base, which is the posture of a team crediting the weights it post-trained rather than an author list. The Hugging Face card for the recommended checkpoint calls it the FastH3 Preview v1 checkpoint from FastVideo. MiniMax published the base weights and the community licence the derivative inherits; it did not publish this speedup.

The reason to spend a paragraph on attribution in a post about arithmetic is that the two errors are the same error. On August 28, 2026, the aggregator Digg published the story under the headline “MiniMax Announces Fast H3 v1 Video Model”, with a dek reading “MiniMax celebrates release of Fast H3 v1 video model with partner labs” and, per the page’s own counter, 253.4K combined views. Its body text is closer to right — it reports that MiniMax posted congratulations to the Hao AI Lab, Nuva Lab and NVIDIA FastGen teams — so this is a headline compressing a congratulation into an announcement, not a fabrication. Note that Digg is a rolling aggregator and the page may since have changed; the version quoted here is the one fetched on August 30, 2026. A headline that compresses “MiniMax congratulated the labs that built this” into “MiniMax announces” is doing exactly what a headline does when it compresses “14.38× at the 15-second shape, on one B200, against our own dense baseline” into “14x faster”. Same operation, same information loss.

02The ArithmeticA speedup is a ratio, and only the top half ever gets published.

The structural point is almost embarrassingly simple. A benchmark score is a measurement: one number, one system, one set of conditions. A speedup is not a measurement at all — it is a division. It requires two measurements, and the second one is a choice the claimant makes. Change the choice and the number changes without anything about the product changing at all. That is why the usual reading advice does not transfer: checking whether a benchmark was run honestly tells you nothing about whether a ratio’s baseline was well chosen, because a perfectly honest measurement divided by a favourable baseline still produces an incomparable multiple.

Our archive already covers the neighbouring questions, and the division of labour is worth stating so you can go to the right place. Reading a vendor benchmark table that shows a loss works through four levers inside a quality table — version, subset, metric shape, and who got a column. This post is about the fifth lever that table cannot show you: the denominator of a ratio. Our reproducibility audit of 42 vendor benchmark rows asked whether a buyer could re-run what a vendor published. And the voice-AI benchmark read happens to hold a multiple that moves with conditions in a completely different modality, which is a useful reminder that this is not a video problem or a compiler problem.

The boundary, stated once
A leaderboard tells you where something ranks. A speedup tells you how much faster something is than something else you have to go find. Everything else on this shelf is about what a number measured. This post is about what a number was divided by — and the two questions have different answers even when the underlying measurement is impeccable.

Before going further it is worth being precise about what this article can and cannot claim, because a sloppy absence claim in a post about rigour would be self-refuting. “Nobody publishes the denominator” is false, and it is not a sentence we will write. FastVideo publishes its denominator in the same table as its ratio, under a column labelled as the speedup over Base H3. Astral links its benchmark document from the headline sentence of the uv README. The honest version, scoped to what was actually read, is narrower and more useful.

Across the speedup claims examined for this article — FastVideo’s FastH3 Preview v1, fal’s H3 Max as recorded in our own August 27 coverage, Microsoft’s TypeScript 7 GA and 2025 native-port posts, Astral’s uv README and benchmark document, vLLM’s Blackwell and InferenceMAX post, and NVIDIA’s TensorRT-LLM deployment guide, each read on August 30, 2026 — every headline stated a multiple, and the matched run that produced it lived somewhere below the fold. Some headlines name a class of baseline (fal names its own hosted H3 endpoint; uv names pip; vLLM names Hopper GPUs). None of those eight put the matched conditions in the headline. The failure is in the compression, not in the disclosure. We did not survey the field, and this is what those eight documents show. Nothing in this post asserts a frequency beyond them.

That is a genuinely more interesting finding than a disclosure scandal would have been. It means the information you need mostly exists, and the work is retrieval rather than investigation — which in turn means a reader with four questions and five minutes can usually resolve a claim that looked unresolvable. Section 09 is those four questions.

03The Worked PairThe same base model, the same day, and nothing else in common.

This is the one section in this post whose subject is video generation. It earns the space because the pair is unusually clean: two derivatives of one open-weights base model, two speedup claims, one calendar day, and a complete disclosure asymmetry between them. Everything after this section is compilers, package managers, inference engines and standards documents, because the arithmetic does not care about the modality.

Side A is FastH3 Preview v1 from FastVideo. Side B is H3 Max from fal, which we covered on the day — our August 27 write-up of H3 Max has the launch detail, and this post takes only three multiples, the shape of the comparison set, and the serving hardware from it. The base model itself is MiniMax H3, which launched on July 31, 2026 with native audio; both sides post-trained it, and neither of them is MiniMax.

Side-by-side disclosure comparison of two speedup claims about derivatives of the MiniMax H3 base model, both published August 27, 2026: FastVideo’s FastH3 Preview v1 and fal’s H3 Max. Final column records which side disclosed the condition.
ConditionSide A — FastH3 Preview v1Side B — H3 MaxDisclosed by
Publishing partyFastVideo / Hao AI Lab at UCSD, with Nuva Lab and the NVIDIA FastGen teamfal, an inference platformBoth
Announcement dateAugust 27, 2026 (the page’s own published-time tag)August 27, 2026Both
Base modelMiniMax H3-Base, open weights“the open-weights MiniMax H3 model”, per falBoth
Headline ratio“Up to 14x speedup on a single Nvidia Blackwell GPU”“roughly 35x the throughput of the official MiniMax H3 endpoint”Both
Precise ratio14.38×~35× (no decimal published)Side A
The denominatorBase H3 with dense FA4 attention, run by FastVideo on matched hardware and matched clip durationfal’s own hosted official MiniMax H3 endpoint — fal controls both sidesBoth (named)
Hardware the ratio was taken on1× NVIDIA B200 (4× and 8× columns also published)Not stated for the 35×; H3 Max was trained and served on GB200 NVL72Side A
Clip length the ratio applies toThe 15 s shape — 345 frames at 24 FPS, so 14.375 s of footageNot statedSide A
Warmup“the median of three timed requests after one full warmup”Not disclosedSide A
Excluded from the timing“Model loading and compilation are excluded.”Not disclosedSide A
Included in the timing“encoding, denoising, decoding, audio, muxing, and file output”Not disclosedSide A
Statistic and sample countMedian, n = 3Not disclosedSide A
How the ratio itself was computedStated: the unrounded timings, for the same duration and GPU countNot disclosedSide A
Comparison setOne matched baseline, run by the same team12 models, 6 of them namedBoth
Weights releasedYes — checkpoint and pre-extracted LoRA, under the MiniMax H3 Community LicenseNo — API and playground onlyBoth
Independent wall-clock re-runNone located in this reviewNone located in this reviewNeither

The asymmetry in the final column is the load-bearing observation, and it is a disclosure difference rather than a suggestion that either number is wrong. Side A publishes its warmup, its exclusions, its statistic and its sample count. Side B publishes none of those four, and publishes no absolute seconds for either half of its ratio. fal also published two further multiples in the same announcement — roughly fifteen times faster than anything with comparable quality, where comparability is set by an internal study that is not published, and a figure of more than fifty times that the announcement attributes to Design Arena. Three multiples, three different denominators, one press release.

Now the part that makes this section worth reading even if you never touch a video model. FastVideo published twelve speedup cells, not one, and the twelve cells disagree with each other in a way that demolishes the headline’s implied generality — honestly, legibly, and in the same table.

FastVideo’s published FastH3 Preview v1 speedups over the dense FA4 Base H3 baseline, at three clip shapes and two GPU counts, with each published ratio recomputed from the published end-to-end times.
GPUsClip shapeBase H3 dense FA4 (s)FastH3 VSA (s)Published ×Recomputed ×
1× B2005 s132.516.28.16×8.179× — matches
1× B20010 s377.431.112.13×12.135× — matches
1× B20015 s — the headline cell678.747.214.38×14.379× — matches
4× B2005 s40.66.16.65×6.656× — matches
4× B20010 s108.712.09.03×9.058× — within rounding
4× B20015 s193.115.512.48×12.458× — within rounding

Read across rather than down. The headline number, 14.38×, is the largest of the six cells. Change nothing but the clip length and it becomes 8.16× — a 1.76× swing from clip length alone. Across all six VSA cells the smallest is 6.65×, so the headline is 2.16 times the floor of its own table, and every one of those six numbers is equally true. Change nothing but the GPU count, from one B200 to four at the same fifteen-second shape, and it falls to 12.48×, because parallelism helps the baseline too and the ratio shrinks as you scale. Same weights, same kernel, same team, same measurement protocol, same day.

Nobody misled anyone. The table is right there, under the headline, and it is more complete than most vendors publish. That is precisely why it is the strongest exhibit available: it demonstrates that the compression from a six-dimensional result to a single multiple destroys comparability even when the publisher is scrupulous. A speedup claim does not need a bad actor to become unusable. It only needs a headline.

FastVideo also publishes the ablation that separates the two mechanisms behind the speed, and it is the honest analytical read of the length sensitivity above. The dense variant of the same four-step student sits at 7.24×, 7.52× and 7.43× at the five-, ten- and fifteen-second shapes on one B200 — essentially flat across clip length. The sparse variant climbs from 8.16× to 14.38× across the same three shapes. So step distillation, which cuts the transformer calls from 49 to 4, contributes a roughly constant factor, while the video sparse attention at 90% sparsity contributes a factor that grows with sequence length. At the fifteen-second shape, sparse attention is worth 1.94 times what dense is (14.38 ÷ 7.43). That is a mechanism, not a measurement trick — and it means the headline number is length-sensitive by physics, which is the opposite of an accident.

The one-line fix any vendor could copy
FastVideo’s table carries a footnote stating that the speedup uses the unrounded timings for the same duration and GPU count, and that no speedup is claimed without a matched baseline run. Eighteen words solve a real problem: they tell you why the published ratios do not always recompute exactly from the published seconds, and they commit the publisher to a matched denominator. Section 06 shows a published ratio elsewhere that a reader cannot reproduce from its own table precisely because that sentence is missing.

One last derived observation from the same primary, because it shows how far a label can drift from what it names. FastVideo states that its five-, ten- and fifteen-second shapes contain 124, 243 and 345 frames, and that the pipeline runs at 24 FPS. Divide and the shapes are 5.167 s, 10.125 s and 14.375 s of actual footage — so the shape called “15 s” is fourteen and three-eighths seconds long. Put those footage durations next to the published eight-GPU end-to-end times and the sub-realtime claim resolves cleanly: it is true, and it is true for exactly one of the three shapes.

Generation time against playback duration for FastH3 Preview v1 on eight B200 GPUs, derived from FastVideo’s published frame counts, 24 FPS rate and end-to-end times.
Shape labelFramesFootage at 24 FPS (s)8× B200 end-to-end (s)Generation ÷ playback
“5 s”1245.1676.841.32× — slower than playback
“10 s”24310.12511.661.15× — slower than playback
“15 s”34514.37512.880.90× — 1.12× faster than playback

04The TaxonomySix things a speedup can be measured against.

Once you start asking what the denominator is, the answers sort into a small number of kinds — and the kinds matter more than the magnitudes, because two multiples of different kinds are not commensurable no matter how carefully each was measured. Four of the six examples below are not video, which is the point.

A taxonomy of six denominator types for speedup claims, the buyer question each one answers, a real published example of each, and the domain that example comes from.
Denominator typeThe question it answersA real published exampleDomain
1 · Unoptimised baseline of the same model, run by the claimantHow much did our own optimisation work buy?FastH3’s 14.38× against Base H3 with dense FA4, matched duration and GPU count, run by FastVideoVideo
2 · The previous version of the same productHow much better is the upgrade?TypeScript 7’s 11.9× against TypeScript 6 on the vscode repository, 125.7 s to 10.6 sCompiler
3 · The previous software version on identical hardwareHow much of the gain came from software alone?NVIDIA’s developer blog reports per-GPU Blackwell throughput rising by up to 2.8× over three months on the same platform with a newer TensorRT-LLMInference stack
4 · A competitor, or a class of competitors the claimant definesAre we faster than them?uv’s “10-100x faster than pip”; fal’s “on average 15x faster than anything with comparable quality”, where comparability comes from an unpublished internal studyPackage manager · video
5 · The same model on different hardwareWhat does the new silicon buy?vLLM and SemiAnalysis: “up to 4x higher throughput at similar latency compared to previous-generation Hopper GPUs”LLM serving
6 · A constraint or a physical reference, not a system at allIs it fast enough to change how the work gets done?MLPerf’s Server scenario, whose metric is the maximum Poisson throughput supported subject to a 99th-percentile latency bound — the denominator is a service-level objectiveStandards

The taxonomy has an immediate use: it tells you which claims can be put in a league table and which cannot. A type-1 multiple is a statement about an engineering team’s own work. A type-5 multiple is a statement about a chip. Averaging them, ranking them, or citing one to rebut the other is a category error, and it happens constantly in feeds and in slide decks, because the multiple looks like a unit and is not one.

Note also what the taxonomy does to the August 13 claim from section 01. With no baseline workload, prompt set or effort setting published, OpenAI’s “up to 14×” cannot be placed in any of the six rows. That is not a rhetorical trick; it is the practical consequence of the omission. An unplaceable multiple can be believed or disbelieved but it cannot be compared, which means it carries no information a buyer can act on beyond “faster than before, by some amount, under some conditions”.

Category error
Type 1 and type 5 are different statements
1vs 5

A claimant beating its own unoptimised baseline is telling you about its engineering. A model running faster on newer silicon is telling you about the chip. Both are legitimate; neither substitutes for the other, and a buyer who reads a type-1 multiple as a type-5 multiple concludes that the hardware is the reason. The taxonomy exists mainly to stop that substitution.

Do not average across types
Thresholds
A constraint is not a system
6

Types 1 to 5 give you a number to argue about. Type 6 gives you a threshold — a latency bound, a playback duration, a service-level objective — and thresholds change what a team does rather than what it buys. Our August 27 coverage of H3 Max argues that case for video specifically; the general form is that the denominator you should care about is often not a competitor at all.

Type 6 changes behaviour
Stacking
One announcement, three denominator types
3

fal's August 27 post carries a type-1 ratio (35× against its own hosted endpoint), a type-4 ratio (15× against a claimant-defined class of comparable-quality models), and a type-6 claim (generation time against clip duration). All three are defensible. None of the three is the same kind of statement as the others, and reading the announcement as a single 35× claim collapses all of it.

Read each multiple separately

05The LeversThe conditions that move a ratio while the product stays identical.

Knowing the denominator type is not sufficient, because within a single type the number still moves. Every row below is measured from a single primary source with one condition changed, wherever a primary published enough to make that possible. Read the swing column as the answer to a specific question: if a vendor moved only this one dial, how much would the headline change?

Conditions that change a published speedup ratio without changing the product, each with the observed swing, the primary source the swing was measured from, and the domain.
Condition changedObserved swingWhere it was measuredDomain
ConcurrencyAggregate output 201 to 3,824 tokens/s — 19.0× — while per-user throughput falls from 55.2 to 16.1 tokens/sTensorRT-LLM deployment guide, identical 16-GPU system, concurrency 4 to 256LLM serving
Attention density7.43× dense to 14.38× at 90% sparsity — 1.94×FastH3 ablation, same four-step student, 15 s shape, 1× B200Video
Sequence or clip length8.16× to 14.38× — 1.76×FastH3, 1× B200, 5 s vs 15 s, same checkpointVideo
Parallelism setting on the fast side11.9× to 16.7× — 1.40×TypeScript 7 on vscode, --checkers 4 (default) vs --checkers 8, same machine, same baselineCompiler
Which operation you time10.4× type-check, 11.9× full build, 8.0× editor project loadTypeScript, one codebase, native-port post vs GA postCompiler
Device count14.38× to 12.48× — the ratio shrinks as you scale, because parallelism helps the baseline tooFastH3, 1× vs 4× B200 at the 15 s shapeVideo
Cache stateEnough to require four separate published charts; the marquee chart is the warm-cache caseuv BENCHMARKS.md plus the README captionPackage manager
Statistic chosenMedian of three runs, versus a mandated 90th or 99th percentileFastH3 protocol vs the MLPerf Inference scenario tableCross-domain
Warmup and compile accountingNot quantified — model loading and compilation are excluded, so a cold-process number would be a different numberFastH3 primary, its own protocol noteVideo
Workload compositionNot quantified — the vendor states performance “may vary dramatically depending on the set of packages being installed”uv BENCHMARKS.md, single Trio workloadPackage manager
Operating system and filesystemNot quantified — the install strategy itself changes, reflinking on macOS versus hardlinking on Linuxuv BENCHMARKS.md, benchmarks run on macOS with Python 3.12.4Package manager
Numeric precisionNot quantified in the documents read here — flagged because a ratio that changes format between numerator and denominator is not a pure hardware comparisonAnalytical observation, not a measured swingHardware
Baseline hardware generationNot quantified — “4x faster” against one part in a previous generation is a materially different claim from the same words against anothervLLM and InferenceMAX use the generic phrasing “previous-generation Hopper GPUs”Hardware

The first row deserves more than a cell, because it is the cleanest demonstration in the whole set that a speedup needs to say whose speed it is. NVIDIA’s own TensorRT-LLM deployment guide publishes a concurrency sweep on identical hardware: sixteen GPUs, one model, nothing changed but the number of simultaneous requests. Aggregate output throughput moves from 201.2 to 3,823.9 tokens per second — a factor of 19.0 — while per-user throughput falls from 55.2 to 16.1 tokens per second and median time-to-first-token rises from 1,769 to 4,587 milliseconds, a factor of 2.6.

NVIDIA’s published concurrency sweep on identical 16-GPU hardware, showing aggregate throughput rising while per-user throughput falls and time-to-first-token rises.
Parallel modeConcurrencyOutput tokens/sPer GPUMedian TTFT (ms)Tokens/s per user
TEP164201.212.61,76955.2
DEP16641,669.1104.34,51229.4
DEP162563,823.9239.04,58716.1

A vendor could truthfully publish “19x throughput” from that table, and a customer sitting in front of the resulting deployment would experience the machine as roughly three times slower than the low-concurrency configuration. Nothing about the model or the silicon changed. This is why the percentile question is not pedantry, and why our own latency dataset publishes P50 and P95 rather than a single figure — a median hides the tail that users actually feel, and an aggregate hides the individual entirely.

One more shape worth recognising, because it turns up whenever a speed gain is expressed as a saving rather than a multiple. Some vendors publish percentages instead of ratios — a refactoring benchmark reported as “83% faster”, for instance, which we worked through in the JetBrains refactoring-skill read. A percentage carries exactly the same denominator problem in a shape that makes it harder to spot, because a percentage looks like a property of one thing rather than a relationship between two. Convert it to a multiple before you compare it to anything: 83% faster is about 5.9 times, and stating it that way immediately prompts the right question — faster than what?

06The Non-Video MirrorOne compiler, one codebase, five published multiples.

If the video pair feels like a special case, here is the same structure in a domain almost every reader has on their laptop. TypeScript’s native compiler rewrite has been benchmarked repeatedly by its own team on the same public codebase — the vscode repository — across the March 2025 native-port announcement and the TypeScript 7.0 GA post, and has been published at five different multiples, every one of them defensible and every one of them measuring something slightly different.

The same compiler on the same repository, five ways

Microsoft TypeScript team, native-port (2025) and TypeScript 7.0 GA (2026) posts · bars scaled to the largest multiple
16.7× — full build, --checkers 8125.7 s to 7.51 s · GA post, July 2026
16.7×
11.9× — full build, --checkers 4 (default)125.7 s to 10.6 s · GA post, July 2026
11.9×
10.4× — command-line type-check77.8 s to 7.5 s · native-port post, March 2025
10.4×
8.0× — editor project load9.6 s to 1.2 s · native-port post, March 2025
8.0×
7.2× — a --noEmit run on the same repo36 s to 5 s · reported secondhand, see note
7.2×

Microsoft’s headline across both announcements is “10x” — a number that appears nowhere in the five bars above, sitting instead between the third and second of them. Its own GA body text is more careful than the headline, describing optimisations that “typically yield speedups between 8x and 12x on full builds”, and the full GA table ranges from 7.7× to 11.9× across five codebases at the default checker count, then from 10.6× to 16.7× across the same five at --checkers 8. The vendor is not overstating; the headline is a rounding of a range, and the range is published two screens down.

Two honest notes on that chart. The 7.2× bar is a figure we found reported as the VS Code team’s own --noEmit measurement by Visual Studio Magazine; we could not locate a first-party page for it, so treat it as secondhand reporting rather than a vendor statement. And the machine matters here more than anywhere else in this post: the difference between 11.9× and 16.7× is purely the number of checker processes, and the GA post says only that both tables were run on the same machine — it never says what machine, which core count, or which operating system. To Microsoft’s credit the post publishes the caveat itself, noting that these codebases “get a better speedup from dedicating more cores, but results will differ across projects and underlying machines”. It publishes the lever and the warning and omits the hardware. That combination is the industry norm at its better end.

If you are actually deciding whether to move a codebase, our TypeScript 7 migration playbook is the post for that. Here the compiler is only a specimen, and the specimen’s value is arithmetic: this is what it looks like when one product, one repository and one honest team produce five different true multiples.

Microsoft’s March 2025 TypeScript native-port table, with each published speedup recomputed from the published before-and- after times. The date-fns row cannot be reproduced at the stated precision.
CodebaseCurrent (s)Native (s)Published ×Recomputed ×
VS Code77.87.510.4×10.373× — matches
Playwright11.11.110.1×10.091× — matches
TypeORM17.51.313.5×13.462× — matches
rxjs1.10.111.0×11.0× — matches
tRPC5.50.69.1×9.167× — rounds to 9.2×, precision artefact
date-fns6.50.79.5×9.286× — not reproducible at this precision

That last row is teaching material, not an error, and it is worth being explicit about why. Divide the published times and date-fns comes out at 9.29×, not the published 9.5×. The explanation is almost certainly benign: 6.5 seconds and 0.7 seconds are one-decimal roundings of the real timings, and an unrounded 0.68 seconds would produce 9.5× exactly. The tRPC row shows the same artefact in the opposite direction — 9.167× recomputes to 9.2× and is published as 9.1×. This is not a fabricated number; it is what happens when a table publishes one-decimal seconds alongside two-significant-figure ratios.

The general rule that falls out of it is the useful part. When a table publishes rounded inputs and rounded ratios, the ratio column cannot be recomputed from the table. Every other ratio we checked does recompute: all twelve FastH3 cells and all ten TypeScript 7 GA cells land within ±0.03 of their published values. And FastVideo solved the whole problem with one sentence stating that its speedups use the unrounded timings. That sentence costs nothing and it is the single cheapest disclosure improvement available to anyone publishing a benchmark table.

Three more figures from the TypeScript GA post, because they show the same author being rigorous and loose in the same document. Slack’s CI type-check going from about 7.5 minutes to 1.25 minutes is a fully specified 6.0×. Canva’s first-error-in-editor time going from roughly 58 seconds to about 4.8 seconds recomputes to 12.08×. But the same post also reports that the new language server reduced failing language-server commands by over 80% and server crashes by over 60% compared with the previous version — two rates with no sample size for either, no time window, and no statement that they come from the same telemetry population. That is not dishonesty. It is the ordinary asymmetry: the numbers a team benchmarks get conditions, and the numbers a team telemeters get percentages.

07Four More SpecimensThe same arithmetic in package managers, engines and silicon.

Four more claims, chosen because each one shows a different relationship between a headline and the disclosure underneath it. Two of them are, on the evidence, better-disciplined than the headline suggests — which is why this post is not a prosecution. The primaries are worth opening yourself: uv’s benchmark document and vLLM’s InferenceMAX post are both short, and both publish more than they had to.

Specimen one
uv — the caveats published
“10-100x faster than pip” · Astral

A ten-fold range in the headline is itself a disclosure that conditions dominate, and the range is hyperlinked to a benchmark document that opens with its own caveats: performance “may vary dramatically across different operating systems and filesystems” and “may vary dramatically depending on the set of packages being installed”. It names the harness (hyperfine), the platform (macOS, Python 3.12.4 for non-uv tools), the single workload (Trio's docs-requirements.in), and splits into four scenarios — warm and cold install, warm and cold resolution. The README's marquee chart is captioned as the warm-cache case. Its one real gap: the four scenarios are published as chart images, so the ends of the 10-100x range cannot be tied to specific scenarios from the document's text.

How it should be done
Specimen two
vLLM and InferenceMAX — headline below the body
“up to 4x” · figures at 4.3× and 3.7×

The headline claims up to four times higher throughput at similar latency against previous-generation Hopper GPUs, while the figure captions in the same post report 4.3× and 3.7× for specific model and sequence-length combinations. The headline is more conservative than the body — the opposite of the usual direction. The post also names the two models, the three input/output length regimes, states that results are updated daily, and argues for publishing a Pareto frontier rather than a point because a configuration with the highest throughput is usually not the one with the lowest per-user latency.

Publish the curve, not the point
Specimen three
NVIDIA — software-only denominator
up to 2.8× in three months · same platform

NVIDIA's developer blog reports per-GPU throughput on the same Blackwell platform rising by up to 2.8× over a three-month period, with newer inference software and no hardware change. This is denominator type 3, and it is the type buyers most often misread as a hardware claim: the multiple is real, and it is an argument for upgrading your serving stack rather than for buying anything. Worth exactly one row in any comparison table, and worth checking for whenever a chip generation gets credit for a software gain.

Same silicon, newer stack
Specimen four
TensorRT-LLM — whose speed?
19.0× aggregate · 3.4× slower per user

The concurrency table in section 05 is the specimen: identical 16-GPU hardware, identical model, aggregate output throughput up 19.0× and per-user throughput down by a factor of 3.4, purely from raising concurrency from 4 to 256. No published claim in this post is drawn from it — the numbers are the vendor's own deployment guidance — which is exactly what makes it useful. It demonstrates that a truthful throughput multiple and a worse user experience are entirely compatible.

Aggregate is not individual

The transferable sentence from that set belongs to vLLM, and it is the most quotable line in this entire subject: single-point metrics can be misleading. A speedup is a single-point metric by construction — it collapses a curve into one number and then discards the axes. The constructive alternative is in the same post: publish the frontier. Give a reader throughput against per-user latency across configurations and the reader can find their own operating point instead of trusting yours.

There is a pattern here that we keep running into from different directions, and it is worth naming as a trend rather than a set of anecdotes. The disclosure in this industry is getting better at the primary-source layer and no better at all in the compression layer. FastVideo publishes twelve cells and a footnote about rounding. Astral publishes four scenarios, a harness, an OS and a workload. vLLM publishes a daily-refreshed benchmark and a rationale for preferring curves to points. None of that changes what happens to the number when it reaches a headline, an aggregator, or a slide — and the aggregator step is where our own reading of a widely-cited study whose denominators were never stated landed on the same failure. The forecast is unexciting and probably correct: primaries will keep improving, headlines will not, and the skill of retrieving the denominator will keep appreciating in value.

08The Disclosure StandardWhat MLPerf makes you say that a blog post does not.

It is easy to complain about disclosure and hard to say what adequate disclosure would be. Fortunately a standards body has already written it down. The MLPerf Inference rules and the accompanying MLCommons submission rules specify, in binding detail, what a performance claim must carry before it can use the name. Read them once and every vendor blog post looks different afterwards.

Start with the statistic, because it is the first thing MLPerf takes away from you. You do not get to pick it: the scenario determines it.

MLPerf Inference scenarios, showing how query generation, minimum duration, tail-latency percentile and the performance metric are fixed by the scenario rather than chosen by the submitter.
ScenarioQuery generationMinimum durationTail latencyPerformance metric
SingleStreamNext query on completion600 s90%90th-percentile early-stopping latency estimate
MultiStreamNext query on completion, 8 samples per query600 s99%99th-percentile early-stopping latency estimate
Server / InteractivePoisson distribution600 s99%Maximum Poisson throughput parameter supported
OfflineAll samples at once, minimum 24,576 per query600 sNot applicableMeasured throughput

Compare that with the protocols in this post. FastVideo reports the median of three timed requests, which is a better-documented protocol than most vendor blogs manage and would still not qualify as an MLPerf datacenter result: three runs, a median rather than a percentile, and nothing approaching a ten-minute minimum duration. That is a difference in purpose rather than a failing — a research blog post is not attempting a standards submission, and MLPerf Inference does not have a video-generation benchmark that matches this workload anyway. But it does calibrate what “we measured it carefully” means at different levels of ambition.

The rules also explain why the percentile is mandated. The early-stopping provision exists, in the document’s own words, with the penalty that “the effective computed percentile will be slightly higher”, because in runs with few queries “there is a higher probability that a particular run will, by chance, report a lower latency than the system should reliably support”. A standards body wrote a rule specifically to stop a small-n run from flattering itself. A median of three is exactly the shape that rule was written about.

System description
Twenty-seven of them must be answered
36fields

The system-description file requires a meaningful response for submitter, division, system type, status, node count, host processor model and core count, host memory capacity and configuration, storage type and capacity, networking and network topology, accelerator model, accelerator host interconnect, accelerator memory capacity and configuration, accelerator interconnect, framework, software stack, operating system — and cooling. MLPerf makes you say whether the box was air-cooled or liquid-cooled. The TypeScript 7 GA post says “the same machine” and never names it. Neither is wrong for its purpose; the distance between them is the article.

Submission rules, 2026
Weights and division
Change the model and you must relabel the claim
2divisions

A separate model-info file requires the starting weights filename as a URL, whether the weights were transformed, the weight and input data types, and whether retraining occurred with a write-up URL if it did. The Closed division permits calibration for quantisation and no retraining. Both sides of the video pair are post-trained derivatives, so under this taxonomy both would land in the Open division — where the qualified name must be used and the achieved accuracy must be reported alongside. The standard's answer to “you changed the model” is not a ban. It is a different name and a required accuracy number.

Inference rules, Closed vs Open
Availability and review
Faster cannot mean faster on something unbuyable
140days

An Available submission needs published or on-request pricing, delivery to at least one third party, and an official or beta software release — nightly builds are excluded by name. A Preview submission must convert to Available within 140 days or the next round, at equal or better performance allowing up to 2% degradation for noise, or the result is marked invalid. Every submitter reviews at least one other submission, objections are filed as issues citing the offending lines and the rule violated, up to two submissions per round are audited, and results publish simultaneously. No blog post has any of this.

Submission rules, availability tiers

Our own reading of the MLPerf Training v6.0 results covers what the published numbers said about the 2026 hardware race; this section is a different document entirely — the Inference division’s rules about what a submitter must disclose, not any result. The reason the rules are the interesting half here is that they encode a philosophy of measurement that a marketing team can borrow without joining a consortium. The submission rules require that on-premise systems be described “in sufficient detail to enable third parties to build a similar system”. That is the test. Not “did we tell the truth” but “could someone else reconstruct the conditions”.

The cleanest prescription in the standard
MLPerf treats the name of a number as part of its disclosure: the unqualified name must be used for a Closed-division result, and the qualified “MLPerf Open” name for an Open-division one. Transposed to speed claims, that is the single most portable rule available — a speedup should be named after its denominator. Not “14x faster” but “14x faster than our own dense baseline at the fifteen-second shape on one B200”. Longer, unloseable, and impossible to accidentally compare with something else.

09The MethodFour questions for the next speedup claim you see.

The practical payoff of everything above is short, and it is deliberately four questions rather than a rubric, because a rubric nobody runs is worth less than four questions somebody does. Each one is answerable from a primary source in about a minute, and the evidence in this post says the answers are usually there — below the fold, in the table, in the caption, or in a linked benchmark document.

Question one
What is the denominator?

Name the thing on the bottom of the ratio, and then name who ran it. An unoptimised version of the same product, run by the claimant, is a type-1 claim about engineering. A competitor is a type-4 claim about a market. A previous software version on the same hardware is a type-3 claim that reads like a hardware claim and is not. If the primary does not name a baseline at all — as with one of the three August claims here — stop. There is nothing to compare.

Find the baseline
Question two
Under exactly what conditions?

The headline is one cell of a table. Find the table and find which cell the headline came from. Ask for the sequence or clip length, the device count, the concurrency, the cache state, the precision, the parallelism flags, and whether model loading and compilation were counted. Section 05 says how much each of those moves a number in practice, and the answer is frequently more than the difference between two competing products.

Find the cell
Question three
Which statistic, over how many runs?

A median of three is a different object from a 99th percentile over ten minutes of Poisson-distributed traffic, and the gap between them is where user-visible latency lives. Check whether the number is aggregate or per-user: the TensorRT-LLM table shows aggregate throughput up 19.0× while per-user throughput fell by a factor of 3.4 on identical hardware. Aggregate throughput is a claim about a fleet. Nobody experiences a fleet.

Find the n
Question four
Does the ratio recompute?

Divide the published numbers yourself. It takes ten seconds and it catches two distinct things: an arithmetic slip, and a table whose rounding makes its own ratio column unreproducible — which is what the date-fns 9.5× turns out to be, benignly. If a publisher states that its ratios use unrounded timings, as FastVideo does, you have learned something about the publisher as well as about the number.

Do the division

Two notes on using this in anger. First, the discipline is the same one that applies to any performance number you report internally, which is why we treat it as measurement work rather than as press-release literacy — it is the same habit we bring to analytics and measurement engagements, where a percentage lift with an unstated baseline period causes precisely this failure and costs considerably more than a misread benchmark. Second, if a claim survives all four questions, believe it — for the conditions it names, and not one condition further.

Where this is heading is worth a sentence of forecast, because the trend line is fairly clear. The number of speedup claims in circulation is rising faster than the number of independent re-runs: we could not locate an independent wall-clock verification of either side of the video pair in this review, and that is normal rather than remarkable. As distilled derivatives of open-weights models proliferate, so does the population of claims about the same base model measured under incompatible conditions — which means the comparability problem gets structurally worse even if every individual publisher gets more rigorous. The workable response is not more scepticism. It is the habit of asking, every time, what the number was divided by.

10ConclusionThe denominator is the claim.

The durable version

A speedup should be named after the thing it was divided by.

Three speed claims arrived inside a fortnight in August 2026. Two of them shared a headline number and measured unrelated things. Two of them concerned derivatives of one open-weights base model, arrived on the same day, and were not comparable to each other. And the best-documented of the three refuted its own headline’s implied generality in the table directly beneath it, by publishing 8.16× at a five-second clip and 14.38× at fifteen — the same checkpoint, the same GPU, the same protocol.

That is the finding, and it is a more useful one than a disclosure scandal would have been. Nobody in this post behaved badly. The information is there in the primaries; it dies in the compression to a headline. Which means the fix is available to both sides of the transaction: a publisher can add one sentence naming the baseline and the conditions in the same breath as the multiple, and a reader can spend four minutes on four questions — what was it divided by, under what conditions, with which statistic, and does the division check out.

If you want a standard to point at, MLPerf has already written one: thirty-six system-description fields, twenty-seven of them mandatory, a percentile fixed by the scenario rather than chosen by the submitter, adversarial review by other submitters, and a rule that the name of a result is part of its disclosure. No blog post will ever carry all of that, and none needs to. But the naming rule transposes for free, and it is the whole post in nine words: a speedup should be named after its denominator.

Measure it so it holds up

Every performance number you publish has a denominator — name it.

We build the measurement layer that makes your own performance claims reproducible — named baselines, stated conditions, statistics that survive a second look, and reporting a buyer can re-run.

Free consultationExpert guidanceTailored solutions
What we work on

Measurement engagements

  • Baseline definition before any lift is reported
  • Condition disclosure built into the reporting layer
  • Percentiles and sample sizes, not single points
  • Vendor claim audits before procurement
  • Dashboards a third party could reconstruct
FAQ · Reading speedup claims

The questions we get every week.

It measures a ratio, and the ratio has two halves. The numerator is the new system's measured time or throughput; the denominator is whatever the claimant chose to compare against, measured under conditions the claimant also chose. A headline publishes the ratio and almost never the denominator, so the same words can describe completely different things. In August 2026 two separate claims used “14x”: FastVideo's FastH3 Preview v1 meant 14.38× against its own dense-attention baseline of the same model, at a fifteen-second clip shape, on one NVIDIA B200, as the median of three timed requests after a warmup with model loading and compilation excluded. OpenAI's GPT-5.6 Sol Ultrafast preview meant up to fourteen times standard speed for text inference, with no baseline workload, prompt set or reasoning-effort setting published. Same number, unrelated measurements.
Related dispatches

Continue exploring benchmark methodology.