Superscalar Bench

Full report (AI-readable): SuperscalarBench.md →

What one verified coding result costs, in money and minutes — per model × harness × effort, on a ladder of six tasks graded by hidden acceptance suites.

1,727 runs 22 models · 4 harnesses n = 3 per cell; Gemini 4 Argon: 18 cells with n = 2; Fable 5.1: one cell with n = 2 2026-09-30 → 10-27 single observer · private tasks

Rows with fewer than three runs: Gemini 4 Argon has two runs per task × effort so far (run 3 of Gemini 4 Argon is being measured; the figures will be updated). Its rankings are mostly reliable, but read a gap under ~20% between its cells as a tie.

The six aims

The six aims, one key image each, on the designed ladder of difficulty

Key images: one wordless picture per aim, generated with Codex CLI's built-in image tool from published prompts (how they were made). The text, numbers and ladder on the sheet are drawn by code.

The aim ladder

Each aim is one task; within an aim every model is judged by the same hidden suite. The aims form a ladder ordered by task scope, designed to get harder as it climbs — the panels show what was measured, not a smoothed trend.

The aim ladder — runs not reaching, first-answer pass rate, median trust time and median trust cost for aims 1 to 6
aimtaskhidden testsreachfirst answermedian trust timemedian trust cost
aim 1 key image1mechanical multi-file edit25100%95%3.5 min$0.35
aim 2 key image2spec-complete implementation73100%91%4.8 min$0.48
aim 3 key image3multi-step feature + schema migration49100%98%6.3 min$0.62
aim 4 key image4diagnose-and-fix from a symptom report37100%99%4.6 min$0.48
aim 5 key image5design + build a small language interpreter9698%90%9.8 min$0.86
aim 6 key image6crash-safe transactional key-value store5894%80%12.9 min$1.08

Medians are over the 97 model × harness × effort combinations of each aim (n = 3 per cell; Gemini 4 Argon: 18 cells with n = 2; Fable 5.1: one cell with n = 2). A combination that never reached on an aim has no trust cost and is left out of that aim's trust medians — this happens only on aim 6.

Aims 1–4 fall within $0.35–$0.62 and 3.5–6.3 min per verified result without a steady rise: aim 2 trips the first answer more often than aims 3–4, and aim 4 is cheaper than aim 3. Aims 5 and 6 sit above that range — about twice the aims 1–4 median in cost, and two to nearly three times in time. Aim 6 costs more than aim 5 at the median, takes longer and misses more; aims 5 and 6 are the only rungs where runs fail to reach.

What is measured

Trust cost

Mean cost (or wall time) over all attempts — refinement rounds included — divided by the reach rate. A model that is cheap per attempt but rarely reaches pays for its misses here. A combination that never reached has no trust cost.

harnessmodelseffort levels
Claude Code (CLI 2.1.284)Sonnet 5.5 · Opus 5.5 · Fable 5.1 · Fable 5low – max
Opus 5 (n=3) · Sonnet 5 (n=3) · Opus 4.8 (n=3)low – max
Haiku 4.5default
Claude Code (CLI 2.1.293, installed side by side)Haiku 5.5low – max
CodexGPT-6.1 Sol · GPT-6.1 Terra · GPT-6 Sol · GPT-6 Astra · GPT-6 Luna · GPT-5.6 Sol · GPT-5.6 Terra · GPT-5.6 Lunalow – max
Grok Buildgrok-4.7 · grok-4.6low – xhigh
AntigravityGemini 4 Argon (n=2) · Gemini 3.8 Flash · Gemini 3.1 ProArgon and Flash: low · medium · high · Pro: low · high

The rows for Claude Haiku 5.5, Opus 5, Sonnet 5, Opus 4.8 and GPT-5.6 Sol · Terra · Luna were measured after the first measurement (2026-10-07 → 10-13), Gemini 4 Argon after those (2026-10-16 → 10-27) and GPT-6.1 Terra last (2026-10-27). Every combination ran on all six aims. Claude Code sends each Claude model its own built-in system prompt — that is part of the harness, so a comparison between two Claude models is a comparison of model plus harness prompt, as it is under any harness.

Findings

1. The ladder separates on time, cost and the first answer before it separates on reach

Every run of aims 1–4 reached. Aim 5 is the first rung with misses — 5 of 288 runs did not reach — and aim 6 has the most: 18 of 288. 12 of the 23 missed runs are at the model's lowest effort (6 of the 13 cells with misses): for GPT-5.6 Luna, GPT-6 Luna and Gemini 3.1 Pro, one step up reached in every run (medium, medium, and high — Gemini 3.1 Pro's only other level), and Claude Haiku 4.5 has a single effort level and never reached aim 6. Two exceptions run the other way: GPT-5.6 Terra missed at efforts above its lowest (finding 5), and the misses of Sonnet 5 at high, xhigh and max on aim 6 come from Claude Code's default output cap ending responses mid-thought (finding 6) — a harness limit, kept as measured. Opus 4.8 also missed once above its lowest effort, at max on aim 6: the cap ended 3 of the missed run's 4 rounds; its last round passed 57 of 58 hidden tests.

aimharness · model · effortreached
5Codex · GPT-5.6 Luna · low1/3
5Codex · GPT-5.6 Terra · low2/3
5Codex · GPT-5.6 Terra · medium2/3
5Codex · GPT-5.6 Terra · high2/3
6Antigravity · Gemini 3.1 Pro · low2/3
6Codex · GPT-5.6 Luna · low0/3
6Codex · GPT-5.6 Terra · medium2/3
6Codex · GPT-6 Luna · low1/3
6Claude Code · Haiku 4.5 · default0/3
6Claude Code · Opus 4.8 · max2/3
6Claude Code · Sonnet 5 · high2/3
6Claude Code · Sonnet 5 · xhigh0/3
6Claude Code · Sonnet 5 · max0/3

2. The cheapest effort is almost always low or medium, and the top rung is a cost multiplier

In all but a handful of the model × aim pairs that have more than one effort level, the cheapest effort per verified result is low or medium (the rest: high). On aims 1–4 higher effort bought no extra reach. On aims 5–6 it bought reach where the lowest effort missed (GPT-5.6 Terra aside — finding 5) — and the output cap cost reach for Sonnet 5 at high, xhigh and max on aim 6. Opus 4.8 missed once at max on aim 6: the cap ended 3 of the missed run's 4 rounds; its last round passed 57 of 58 hidden tests. What max costs over low, as the geometric mean over aims of the trust-cost ratio max ÷ low:

harness · modelmax ÷ low
Claude Code · Haiku 5.519×
Claude Code · Sonnet 5.515×*
Claude Code · Fable 5.113×*
Claude Code · Opus 5.59.37×
Claude Code · Fable 53.90×
Claude Code · Opus 4.8 (n=3)4.00×
Claude Code · Opus 5 (n=3)3.61×
Claude Code · Sonnet 5 (n=3)3.51ׇ
Codex · GPT-6.1 Terra3.94×
Codex · GPT-5.6 Terra2.70×
Codex · GPT-5.6 Luna2.60ׇ
Codex · GPT-6.1 Sol2.39×
Codex · GPT-6 Sol2.26×
Codex · GPT-6 Astra2.25×
Codex · GPT-5.6 Sol2.05×
Codex · GPT-6 Luna1.50×

In Claude Code the newest versions spread far wider than the earlier ones — Opus 5.5 9.37×, Fable 5.1 13×, Sonnet 5.5 15× and Haiku 5.5 19×, against Fable 5 3.90×, Opus 4.8 4.00×, Opus 5 3.61× and Sonnet 5 3.51×. The generation pairs in finding 4 show why: from one version to the next, low got much cheaper and max did not. Codex rows range from 1.50× to 3.94×; without GPT-6.1 Terra they stay at or below 2.70×. * Lower bounds: some max-effort runs reached but hit the round budget, which leaves no cost record (Fable 5.1 on aims 5 and 6, Sonnet 5.5 on aim 6); those cells' means use the runs whose cost is known, and the missing runs were the longest. ‡ Over aims 1–5 only: Sonnet 5 at max and GPT-5.6 Luna at low did not reach aim 6. Grok Build and Antigravity have no max level.

3. Claude Haiku: the older small model was not cheap per verified result; Haiku 5.5 is the cheapest Claude row

Claude Haiku 4.5 (one effort level) reached in 15 of 18 runs and passed on the first answer in 4 of them; per verified result it cost more than Claude Sonnet 5.5 at Sonnet's cheapest effort on every aim it reached, and it did not reach aim 6. Claude Haiku 5.5 reached in every run (90 of 90) and passed on the first answer in 89 — the exception is one run at low on aim 6, which is why its recommended effort is medium on aim 6 and low on aims 1–5. Its low effort was its cheapest on every aim, and cost less than half of Sonnet 5.5's cheapest effort on every aim (trust cost):

aimHaiku 4.5 · defaultHaiku 5.5 · lowSonnet 5.5 · cheapest effort
1$0.37$0.02$0.26 (low)
2$1.06$0.02$0.23 (low)
3$0.46$0.02$0.35 (medium)
4$0.62$0.02$0.16 (medium)
5$1.26$0.05$0.36 (medium)
6not reached (0/3)$0.26$0.57 (medium)

Over all its cells, Haiku 5.5's median trust cost ($0.19) is the lowest of any Claude row (Sonnet 5.5: $0.55, Haiku 4.5: $0.62); across all harnesses only GPT-6 Luna ($0.02), GPT-5.6 Luna ($0.06) and GPT-6.1 Terra ($0.07) are lower. Time does not follow the same order: its median trust time (5.5 min) is above Sonnet 5.5's (3.4 min), its higher efforts are slow (max on aim 6: 27.1 min), and its low → max cost spread is the widest measured (19×). Haiku 5.5 ran on a newer Claude Code version than the other Claude rows, and later in the window; the version control under Limits found cost about unchanged by the version, while time is the weaker axis.

4. Newer Claude and GPT generations: cheaper at low effort, not always at max — grok-4.7 is the exception

Trust cost newer ÷ older by effort (geometric mean of per-aim ratios; below 1× = the newer version is cheaper per verified result):

newer ÷ olderlowmediumhighxhighmax
Claude Opus 5.5 ÷ Opus 5 (n=3)0.39×0.37×0.31×0.52×1.01×
Claude Opus 5.5 ÷ Opus 4.8 (n=3)0.41×0.39×0.45×0.54×0.96×
Claude Sonnet 5.5 ÷ Sonnet 5 (n=3)0.50×0.42×0.33×0.86ׇ2.18ׇ
Claude Fable 5.1 ÷ Fable 50.70×0.55×0.62×1.06×2.41×*
GPT-6.1 Sol ÷ GPT-6 Sol0.73×0.64×0.71×0.80×0.77×
GPT-6.1 Sol ÷ GPT-5.6 Sol0.29×0.29×0.27×0.35×0.34×
GPT-6 Luna ÷ GPT-5.6 Luna0.35ׇ0.33×0.23×0.35×0.26×
GPT-6.1 Terra ÷ GPT-5.6 Terra0.20×0.17×0.16×0.18×0.29×
grok-4.7 ÷ grok-4.61.64×1.93×1.87×2.03×—

* Includes partial-cost Fable 5.1 cells (finding 2), so the true ratio is somewhat higher. ‡ Over aims 1–5 only: the older model did not reach aim 6 at that effort (Sonnet 5 at xhigh and max, GPT-5.6 Luna at low).

  • Claude Code. From low to high every newer Claude version cost less per verified result than its predecessor — Opus 5.5 under half of Opus 5 and Opus 4.8, Sonnet 5.5 about half or less of Sonnet 5, Fable 5.1 0.55×–0.70× of Fable 5. The gap closes at the top: at max Opus 5.5 is level with both earlier Opus versions, and Sonnet 5.5 and Fable 5.1 cost more than their predecessors; at xhigh Sonnet and Fable are within the ~20% tie band. This is the other side of finding 2 — the newer versions got cheaper at low, not at max, so their low → max spread widened.
  • Codex. GPT-6.1 Sol cost less than GPT-6 Sol at every effort and roughly a third of GPT-5.6 Sol; GPT-6 Luna cost about a quarter to a third of GPT-5.6 Luna; GPT-6.1 Terra cost 0.16×–0.29× of GPT-5.6 Terra, under a third at every effort. No reversal at max. GPT-5.6 Luna and Terra also missed runs on aim 5, where every GPT-6-generation row reached in every run (finding 5).
  • Grok Build. grok-4.7 cost more than grok-4.6 at every effort and took longer (median trust time 22.5 vs 10.9 min); in return it passed on the first answer in every run (100% vs 92%). Both reached in every run.
  • Repetitions. Per cell, the Opus 5, Opus 4.8 and Sonnet 5 sides all rest on n = 3. The direction of the large gaps is mostly reliable; ratios within ~20% of 1× are ties.

5. Every aim 5 miss is GPT-5.6 Terra or Luna

GPT-5.6 Luna missed only at low — on aim 5 (1/3 reached) and aim 6 (0/3) — and reached in every run from medium up; because medium needed refinement on those aims (first answer 1/3 on aim 5, 0/3 on aim 6), its recommended effort there is xhigh (and high on aim 6). GPT-5.6 Terra missed at low, medium and high on aim 5 (2/3, 2/3, 2/3) and at medium on aim 6 (2/3), yet reached in every run at low on aim 6 — for Terra, reach did not rise steadily with effort. It reached in every run at xhigh and max, and xhigh is its recommended effort on aim 5. Its aim 6 mark at low comes through the exception rule: low needed refinement (first answer 1/3) but took less than half the time of its best one-shot effort. GPT-6 Luna, the successor, missed only at low on aim 6 (1/3); GPT-5.6 Sol and GPT-6.1 Sol reached in every run.

6. Claude Code's default output cap ended some aim 6 rounds

On aim 6, Sonnet 5 (n=3) at high, xhigh and max and Opus 4.8 (n=3) at xhigh and max wrote responses that hit Claude Code's per-response output cap (64,000 tokens) while still thinking, which ended the round. Sonnet 5 did not reach at xhigh (0/3) or max (0/3); at high it reached in 2/3 runs, and the run it missed is the one the cap ended. Opus 4.8 reached on a later round in 3/3 runs at xhigh and 2/3 at max. At max, the cap ended 3 of the missed run's 4 rounds; its last round passed 57 of 58 hidden tests. Rounds that run up to the cap are long, so the three slowest cells in the whole table are capped cells (trust time: Opus 4.8 max 276.0, Opus 4.8 xhigh 170.8 and Sonnet 5 high 166.9 min). No run of the other Claude Code rows (Fable 5, Fable 5.1, Haiku 4.5, Haiku 5.5, Opus 5, Opus 5.5 and Sonnet 5.5) hit the cap. The cap was kept at the harness default; see Limits.

7. Run-to-run spread is moderate

Across the runs of a cell, the typical (median) coefficient of variation of cost and of time is about 20% or less in every harness, which is where the tie rule comes from: read a difference under ~20% between two cells as a tie. Some cells swing much more — when a refinement round appears in one run and not another, and sometimes when runs of the same length simply spend differently. The time axis also moves with machine load. An n=1 cell shows no spread at all, which is why its marks are provisional.

Recommended effort by aim

The ★ / ☆ marks in the figures. Four steps, per model and aim. (1) Eligible: efforts that reached on the first answer in every run. (2) Exception: an effort that needed refinement still qualifies if its cost or time per verified result is at most half that of the best eligible effort — far beyond the ~20% noise band. (3) Excluded: a lower effort that costs more than 20% more than some higher effort cannot get ★, and one that takes more than 20% longer cannot get ☆ — a lower effort that spends more must not look recommended. (4) Ranked: ★ on every remaining effort within 20% of the cheapest cost per verified result (the tie rule, so ties are all marked), ☆ on every remaining effort within 20% of the fastest that is not already ★. L · M · H · X = low · medium · high · xhigh (max is written Mx). — means no effort passed on the first answer in every run. A cell with a missing cost record gets no ★; Claude Haiku 4.5 has a single effort level and is not listed. † = provisional: a mark on a row with a single run (n=1) is judged on that run and is re-judged once more runs land.

harness · modelaim 1aim 2aim 3aim 4aim 5aim 6
Codex · GPT-5.6 LunaL★ M★M★L★ M☆L★X★H★ X★
Codex · GPT-5.6 SolL★ M★L★L★ M★L★ M☆L★M★
Codex · GPT-5.6 TerraL★ M★ H☆M★L★ M★L★X★L★
Codex · GPT-6 AstraL★ M★L★ M★L★ M★L★ M★L★ M★L★ M★
Codex · GPT-6 LunaL★ M★ H★H★L★ M★L★ M★M★H★
Codex · GPT-6 SolL★L★L★ M★L★L★M★ H★
Codex · GPT-6.1 SolL★L★L★ M★L★L★ M★L★
Codex · GPT-6.1 TerraL★ H★ M☆L★ M★ H☆L★ M★M★ H★ L☆L★ M★ H★L★ H★
Claude Code · Fable 5H★L★L★L★L★L★
Claude Code · Fable 5.1L★ M★ H★L★L★ M★L★M★M★
Claude Code · Haiku 5.5L★L★L★L★L★M★
Claude Code · Opus 4.8L★ H★L★L★ M☆L★L★L★
Claude Code · Opus 5L★ M★L★ M★L★L★ M★L★L★ M☆
Claude Code · Opus 5.5M★L★L★ M★L★ M★L★M★
Claude Code · Sonnet 5L★ M★M★M★L★ M★L★M★
Claude Code · Sonnet 5.5L★ M☆L★ M★ H☆L★ M★L★ M★H★ L☆L★ M★
Grok Build · grok-4.6L★L★L★L★L★L★
Grok Build · grok-4.7L★L★L★L★L★L★
Antigravity · Gemini 3.1 ProL★—H★L★——
Antigravity · Gemini 3.8 FlashL★L★L★L★ M☆L★H★
Antigravity · Gemini 4 ArgonL★L★L★L★L★L★

Rows with fewer than three runs: Gemini 4 Argon has two runs per task × effort so far (run 3 of Gemini 4 Argon is being measured; the figures will be updated). Its rankings are mostly reliable, but read a gap under ~20% between its cells as a tie.

All six aims

x = trust cost (log) · y = trust time (log) · each line one model in one harness · points = effort levels (mark shape = vendor: six-ray star Anthropic, hexagon OpenAI, four-point sparkle Google, bold X xAI; a filled mark reached on the first answer in every run, an outlined one needed a refinement round in some run or missed; n=1 models are drawn with a short, faint dashed line and labelled «n=1»; ★ / ☆ = recommended effort, see above, with † on n=1 rows). The legend tags a model's efforts that were not reached, have unknown cost or have partial cost. Lower-left is better. The marker at the top right shows the rung on the ladder.

aim 1 — mechanical multi-file edit
aim 1 — mechanical multi-file edit · 25 hidden tests
aim 2 — spec-complete implementation
aim 2 — spec-complete implementation · 73 hidden tests
aim 3 — multi-step feature + schema migration
aim 3 — multi-step feature + schema migration · 49 hidden tests
aim 4 — diagnose-and-fix from a symptom report
aim 4 — diagnose-and-fix from a symptom report · 37 hidden tests
aim 5 — design + build a small language interpreter
aim 5 — design + build a small language interpreter · 96 hidden tests
aim 6 — crash-safe transactional key-value store
aim 6 — crash-safe transactional key-value store · 58 hidden tests

Limits

Setup details, aim 6 model by model, the measurement defects found and fixed, and an incident where empty grader feedback led a model to probe the evaluator: SuperscalarBench.md →