c16
c16 / wf3.m1 - Agent Control Plane — hi-fi (wf3.m1) / Performance

Engineering · Performance

Codex CLI owns the worst tail — 6.8k ms p95, 11.2k ms p99

The tail users feel lives in Codex CLI on gpt-5-codex6.8k ms at p95, 11.2k ms at p99, vs a fleet p95 of 2.5k ms. It also throughputs the fewest 31 out-tok/s. But speed is not success — 540 fast responses can still be wrong answers, and that axis is not measured here.

Fleet p95 latency

2.5kms

call-weighted across 5 agents

Slowest agent (p95)

6.8kms

Codex CLI · gpt-5-codex

Best throughput

120out-tok/s

data-pipeline-agent · fastest emitter

Outlier responses

3logged

slowest individual calls in window

LLM response latency — percentiles by agent

read the tail (p95 / p99), not the average · lower is better
p50 (typical) p95 (tail) p99 (worst felt) scale 0–11.2k ms

Codex CLI

gpt-5-codex

2.4k · 6.8k · 11.2kms · p50/p95/p99

Claude Code

claude-opus-4-8

1.8k · 4.2k · 7.8kms · p50/p95/p99

support-copilot

gpt-4o

1.1k · 3.4k · 6.1kms · p50/p95/p99

Cursor

claude-sonnet-4-6

900 · 2.6k · 4.8kms · p50/p95/p99

data-pipeline-agent

claude-haiku-4-5

400 · 1.1k · 2.2kms · p50/p95/p99

Codex CLI's p99 (11.2k ms) is 4.7× its p50 (2.4k ms) — a wide tail means users hit multi-second waits well beyond the typical case. data-pipeline-agent stays tight (400→2.2k ms).

Output throughput — tokens / second

how fast each agent emits tokens · higher is better
data-pipeline-agent · claude-haiku-4-5
120 tok/s
Cursor · claude-sonnet-4-6
71 tok/s
support-copilot · gpt-4o
58 tok/s
Claude Code · claude-opus-4-8
42 tok/s
Codex CLI · gpt-5-codex
31 tok/s

data-pipeline-agent emits 120 tok/s — 3.9× the slowest (Codex CLI at 31 tok/s). Low throughput compounds tail latency: long answers on a slow emitter are where users wait the most.

Slowest responses

individual outlier calls · the tail you actually feel
When
Agent
Model
Latency
Tokens
Session
2026-06-02 19:28:00Codex CLIgpt-5-codex11.2k ms28.4kee71aa90
2026-06-03 13:01:00Claude Codeclaude-opus-4-87.8k ms19.8k1a1f867b
2026-06-03 13:50:00support-copilotgpt-4o6.1k ms14.2kab9920fd

The slowest single call — 11.2k ms from Codex CLI (28.4k tokens) — is what a user actually waited on. Big-token answers on a slow model dominate the tail.

Latency ≠ task success — a fast wrong answer is still wrong

Every number on this page measures how fast a model responds — not whether the agent accomplished the goal. A 400 ms reply that hallucinates an API, ignores a constraint, or needs a human to redo it is a failure that looks healthy here. Optimizing latency without measuring outcomes optimizes for confident speed, not correctness.

Task Outcomes & Quality — success rate, goal completion, intervention rate, and output quality — is the named gap. Pair it with latency before re-modeling: a slow-but-correct agent may beat a fast-but-wrong one.

Success rate · not yet measuredGoal completion · not yet measuredOutput quality · not yet measured

Do next

Fields: performance.agents (name · model · calls · p50 · p95 · p99 · avg_ms · tput) · performance.slowest (ts · agent · model · duration_ms · tokens · session). Derived: fleet p95 (call-weighted) · tail ratio (p99 ÷ p50) · throughput ratio — from app/data/c16-fleet.ts (qcontrol /api/performance shape).