The numbers and the report
Built from the research hub's hardware roster, its rows.json at sha256
128a3b2630f5f60c906a5730b6276392538359e923239fda4753b9a6d8639130 (1,054 rows). The card list offers 22 choices of card, model and engine, built from
47 writing speeds, 14 waits and 7 reading speeds, and every row its rules left out is listed below with
its reason.
The files
- picker.json — every card and model the card list offers, the one run each shows and the rows behind it, the starting numbers, the limits, and every row the rules left out, with its reason
- REPORT.txt — what the build did: the rules' counts, every option, the versions shown, the power limits, the starting numbers and the rows left out
- samples.json — the two texts and their tokens under each tokenizer, with the file each tokenizer was read from (repository, revision, sha256)
Every row the card list's rules left out
191 rows, by rule. A processor-only machine is not a graphics card, so its rows are here and not in the card list; a row we left out by hand says why.
| rule | why | input | figure as printed | the article's label | source |
|---|---|---|---|---|---|
| R2 | not a graphics card: a processor-only machine | writing speed | 11.0 tok/s | decode, median of five scored runs | Two Hours at 12 tok/s — On Battery, § The one table to remember |
| R2 | not a graphics card: a processor-only machine | writing speed | 11.1 tok/s | decode, median of five scored runs | Two Hours at 12 tok/s — On Battery, § The one table to remember |
| R2 | not a graphics card: a processor-only machine | writing speed | 12.7 tok/s | decode, median of five scored runs | Two Hours at 12 tok/s — On Battery, § The one table to remember |
| R2 | not a graphics card: a processor-only machine | writing speed | 13.3 tok/s | decode, median of five scored runs | Two Hours at 12 tok/s — On Battery, § The one table to remember |
| R2 | not a graphics card: a processor-only machine | writing speed | 13.6 tok/s | decode, median of five scored runs | Two Hours at 12 tok/s — On Battery, § The one table to remember |
| R2 | not a graphics card: a processor-only machine | writing speed | 14.6 tok/s | decode, median of five scored runs | Two Hours at 12 tok/s — On Battery, § The one table to remember |
| R2 | not a graphics card: a processor-only machine | writing speed | 15.4 tok/s | decode, median of five scored runs | Two Hours at 12 tok/s — On Battery, § The one table to remember |
| R2 | not a graphics card: a processor-only machine | writing speed | 2.7 tok/s | decode, median of five scored runs | Two Hours at 12 tok/s — On Battery, § The one table to remember |
| R2 | not a graphics card: a processor-only machine | writing speed | 24.7 tok/s | decode, median of five scored runs | Two Hours at 12 tok/s — On Battery, § The one table to remember |
| R2 | not a graphics card: a processor-only machine | writing speed | 3.3 tok/s | decode, median of five scored runs | Two Hours at 12 tok/s — On Battery, § The one table to remember |
| R2 | not a graphics card: a processor-only machine | writing speed | 31.5 tok/s | decode, median of five scored runs | Two Hours at 12 tok/s — On Battery, § The one table to remember |
| R2 | not a graphics card: a processor-only machine | writing speed | 4.4 tok/s | decode, median of five scored runs | Two Hours at 12 tok/s — On Battery, § The one table to remember |
| R2 | not a graphics card: a processor-only machine | writing speed | 5.0 tok/s | decode, median of five scored runs | Two Hours at 12 tok/s — On Battery, § The one table to remember |
| R2 | not a graphics card: a processor-only machine | writing speed | 5.2 tok/s | decode, median of five scored runs | Two Hours at 12 tok/s — On Battery, § The one table to remember |
| R2 | not a graphics card: a processor-only machine | writing speed | 6.0 tok/s | decode, median of five scored runs | Two Hours at 12 tok/s — On Battery, § The one table to remember |
| R2 | not a graphics card: a processor-only machine | writing speed | 7.1 tok/s | decode, median of five scored runs | Two Hours at 12 tok/s — On Battery, § The one table to remember |
| R2 | not a graphics card: a processor-only machine | writing speed | 7.5 tok/s | decode, median of five scored runs | Two Hours at 12 tok/s — On Battery, § The one table to remember |
| R2 | not a graphics card: a processor-only machine | writing speed | 9.1 tok/s | decode, median of five scored runs | Two Hours at 12 tok/s — On Battery, § The one table to remember |
| R2 | not a graphics card: a processor-only machine | wait | 11.4 s | time to first token, median of five cold-prefix runs | Two Hours at 12 tok/s — On Battery, § The wait: prefill is the real CPU tax |
| R2 | not a graphics card: a processor-only machine | wait | 14.1 s | time to first token, median of five cold-prefix runs | Two Hours at 12 tok/s — On Battery, § The wait: prefill is the real CPU tax |
| R2 | not a graphics card: a processor-only machine | wait | 14.1 s | time to first token, median of five cold-prefix runs | Two Hours at 12 tok/s — On Battery, § The wait: prefill is the real CPU tax |
| R2 | not a graphics card: a processor-only machine | wait | 16.0 s | time to first token, median of five cold-prefix runs | Two Hours at 12 tok/s — On Battery, § The wait: prefill is the real CPU tax |
| R2 | not a graphics card: a processor-only machine | wait | 22.2 s | time to first token, median of five cold-prefix runs | Two Hours at 12 tok/s — On Battery, § The wait: prefill is the real CPU tax |
| R2 | not a graphics card: a processor-only machine | wait | 24.6 s | time to first token, median of five cold-prefix runs | Two Hours at 12 tok/s — On Battery, § The wait: prefill is the real CPU tax |
| R2 | not a graphics card: a processor-only machine | wait | 25.6 s | time to first token, median of five cold-prefix runs | Two Hours at 12 tok/s — On Battery, § The wait: prefill is the real CPU tax |
| R2 | not a graphics card: a processor-only machine | wait | 26.4 s | time to first token, median of five cold-prefix runs | Two Hours at 12 tok/s — On Battery, § The wait: prefill is the real CPU tax |
| R2 | not a graphics card: a processor-only machine | wait | 3.7 s | time to first token, median of five cold-prefix runs | Two Hours at 12 tok/s — On Battery, § The wait: prefill is the real CPU tax |
| R2 | not a graphics card: a processor-only machine | wait | 35.4 s | time to first token, median of five cold-prefix runs | Two Hours at 12 tok/s — On Battery, § The wait: prefill is the real CPU tax |
| R2 | not a graphics card: a processor-only machine | wait | 4.0 s | time to first token, median of five cold-prefix runs | Two Hours at 12 tok/s — On Battery, § The wait: prefill is the real CPU tax |
| R2 | not a graphics card: a processor-only machine | wait | 4.9 s | time to first token, median of five cold-prefix runs | Two Hours at 12 tok/s — On Battery, § The wait: prefill is the real CPU tax |
| R2 | not a graphics card: a processor-only machine | wait | 6.9 s | time to first token, median of five cold-prefix runs | Two Hours at 12 tok/s — On Battery, § The wait: prefill is the real CPU tax |
| R2 | not a graphics card: a processor-only machine | wait | 8.1 s | time to first token, median of five cold-prefix runs | Two Hours at 12 tok/s — On Battery, § The wait: prefill is the real CPU tax |
| R2 | not a graphics card: a processor-only machine | wait | 8.5 s | time to first token, median of five cold-prefix runs | Two Hours at 12 tok/s — On Battery, § The wait: prefill is the real CPU tax |
| R2 | not a graphics card: a processor-only machine | wait | 82.4 s | time to first token, median of five cold-prefix runs | Two Hours at 12 tok/s — On Battery, § The wait: prefill is the real CPU tax |
| R2 | not a graphics card: a processor-only machine | wait | 9.9 s | time to first token, median of five cold-prefix runs | Two Hours at 12 tok/s — On Battery, § The wait: prefill is the real CPU tax |
| R2 | not a graphics card: a processor-only machine | wait | 97.7 s | time to first token, median of five cold-prefix runs | Two Hours at 12 tok/s — On Battery, § The wait: prefill is the real CPU tax |
| R3 | no model named: its article names no model a reader can pick | writing speed | 137 | decode, tokens a second | The cost to purchase and run a very capable home AI rig, § What kind of performance to expect |
| R3 | no model named: its article names no model a reader can pick | writing speed | 53 | decode, tokens a second | The cost to purchase and run a very capable home AI rig, § What kind of performance to expect |
| R3 | no model named: its article names no model a reader can pick | writing speed | 73.327 | decode once the window is full, tokens a second | RTX 3090 vs RTX 3090 Ti: an inference and diffusion bench, § Three more arms |
| R3 | no model named: its article names no model a reader can pick | writing speed | 79.740 | decode once the window is full, tokens a second | RTX 3090 vs RTX 3090 Ti: an inference and diffusion bench, § Three more arms |
| R3 | no model named: its article names no model a reader can pick | writing speed | 80.056 | decode once the window is full, tokens a second | RTX 3090 vs RTX 3090 Ti: an inference and diffusion bench, § Three more arms |
| R3 | no model named: its article names no model a reader can pick | writing speed | 207.7 tok/s | writing speed | The Typist and the Developer, § One card, both jobs, at once |
| R3 | no model named: its article names no model a reader can pick | writing speed | 61.5 tok/s | decode once the window is full, tokens a second | Two 3080s against one 3090, and the cap decides, § What about a long document? |
| R3 | no model named: its article names no model a reader can pick | writing speed | 72.8 | decode once the window is full, tokens a second | Two 3080s against one 3090, and the cap decides, § What about a long document? |
| R3 | no model named: its article names no model a reader can pick | wait | 0.08 s | time to the first token | The cost to purchase and run a very capable home AI rig, § What kind of performance to expect |
| R3 | no model named: its article names no model a reader can pick | wait | 0.30 s | time to the first token | The cost to purchase and run a very capable home AI rig, § What kind of performance to expect |
| R3 | no model named: its article names no model a reader can pick | wait | 1.01 s | time to the first token | The cost to purchase and run a very capable home AI rig, § What kind of performance to expect |
| R3 | no model named: its article names no model a reader can pick | wait | 30.04 s | time to the first token, seconds | Two 3080s against one 3090, and the cap decides, § What about a long document? |
| R3 | no model named: its article names no model a reader can pick | wait | 46.64 s | time to the first token, seconds | Two 3080s against one 3090, and the cap decides, § What about a long document? |
| R3 | no model named: its article names no model a reader can pick | reading speed | 2,270.547 | prompt reading, tokens a second | RTX 3090 vs RTX 3090 Ti: an inference and diffusion bench, § Three more arms |
| R3 | no model named: its article names no model a reader can pick | reading speed | 2,549.966 tokens a second | prompt reading, tokens a second | RTX 3090 vs RTX 3090 Ti: an inference and diffusion bench, § Three more arms |
| R3 | no model named: its article names no model a reader can pick | reading speed | 2,628.756 | prompt reading, tokens a second | RTX 3090 vs RTX 3090 Ti: an inference and diffusion bench, § Three more arms |
| R4 | more than one request at a time | wait | 525.93 | first token, ms | A laptop, asked the desktop's questions, § The tables |
| R4 | more than one request at a time | wait | 528.06 | first token, ms | A laptop, asked the desktop's questions, § The tables |
| R4 | more than one request at a time | wait | 694.10 | first token, ms | A laptop, asked the desktop's questions, § The tables |
| R4 | more than one request at a time | wait | 702.42 | first token, ms | A laptop, asked the desktop's questions, § The tables |
| R4 | more than one request at a time | wait | 1,068.577 | the wait for the first token, 95th percentile, ms | Ollama and vLLM on one RTX 3090, § Requests at once |
| R4 | more than one request at a time | wait | 1,641.068 | the wait for the first token, 95th percentile, ms | Ollama and vLLM on one RTX 3090, § Requests at once |
| R4 | more than one request at a time | wait | 2,244.823 | the wait for the first token, 95th percentile, ms | Ollama and vLLM on one RTX 3090, § Requests at once |
| R4 | more than one request at a time | wait | 20,935.24 | the wait for the first token, 95th percentile, ms | Ollama and vLLM on one RTX 3090, § Requests at once |
| R4 | more than one request at a time | wait | 3,333.177 | the wait for the first token, 95th percentile, ms | Ollama and vLLM on one RTX 3090, § Requests at once |
| R4 | more than one request at a time | wait | 417.849 | the wait for the first token, 95th percentile, ms | Ollama and vLLM on one RTX 3090, § Requests at once |
| R4 | more than one request at a time | wait | 5,365.722 | the wait for the first token, 95th percentile, ms | Ollama and vLLM on one RTX 3090, § Requests at once |
| R4 | more than one request at a time | wait | 822.939 | the wait for the first token, 95th percentile, ms | Ollama and vLLM on one RTX 3090, § Requests at once |
| R5 | a long prompt or a filled window | writing speed | 56.174 (56.039–56.374) | tokens/s (spread of three) | A laptop, asked the desktop's questions, § The tables |
| R5 | a long prompt or a filled window | writing speed | 72.159 (72.024–72.171) | tokens/s (spread of three) | A laptop, asked the desktop's questions, § The tables |
| R5 | a long prompt or a filled window | writing speed | 102.5 | writing speed, tokens a second | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The Q2_0 pair (the laptop) |
| R5 | a long prompt or a filled window | writing speed | 115.2 | writing speed, tokens a second | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The Q2_0 pair (the laptop) |
| R5 | a long prompt or a filled window | writing speed | 13.0 | writing speed, tokens a second | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § Writing the answer (the laptop, the IQ3_S file) |
| R5 | a long prompt or a filled window | writing speed | 13.993 | writing speed, tokens a second | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The 24 GB desktop card: both engines in one window |
| R5 | a long prompt or a filled window | writing speed | 14.2 | writing speed, tokens a second | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § Writing the answer (the laptop, the IQ3_S file) |
| R5 | a long prompt or a filled window | writing speed | 17.5 | writing speed, tokens a second | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The Q2_0 pair (the laptop) |
| R5 | a long prompt or a filled window | writing speed | 17.681 | writing speed, tokens a second | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The 24 GB desktop card: both engines in one window |
| R5 | a long prompt or a filled window | writing speed | 172.325 | writing speed, tokens a second | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The desktop card: one engine a night |
| R5 | a long prompt or a filled window | writing speed | 189.155 | writing speed, tokens a second | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The desktop card: one engine a night |
| R5 | a long prompt or a filled window | writing speed | 19.4 | writing speed, tokens a second | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § Writing the answer (the laptop, the IQ3_S file) |
| R5 | a long prompt or a filled window | writing speed | 19.620 | writing speed, tokens a second | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The 24 GB desktop card: both engines in one window |
| R5 | a long prompt or a filled window | writing speed | 20.7 | writing speed, tokens a second | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § Writing the answer (the laptop, the IQ3_S file) |
| R5 | a long prompt or a filled window | writing speed | 21.257 | writing speed, tokens a second | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The 24 GB desktop card: both engines in one window |
| R5 | a long prompt or a filled window | writing speed | 26.6 | writing speed, tokens a second | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The Q2_0 pair (the laptop) |
| R5 | a long prompt or a filled window | writing speed | 38.576 | writing speed, tokens a second | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The desktop card: one engine a night |
| R5 | a long prompt or a filled window | writing speed | 69.8 | writing speed, tokens a second | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § Writing the answer (the laptop, the IQ3_S file) |
| R5 | a long prompt or a filled window | writing speed | 76.337 | writing speed, tokens a second | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The desktop card: one engine a night |
| R5 | a long prompt or a filled window | writing speed | 81.452 | writing speed, tokens a second | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The 24 GB desktop card: both engines in one window |
| R5 | a long prompt or a filled window | writing speed | 87.1 | writing speed, tokens a second | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § Writing the answer (the laptop, the IQ3_S file) |
| R5 | a long prompt or a filled window | writing speed | 92.571 | writing speed, tokens a second | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The 24 GB desktop card: both engines in one window |
| R5 | a long prompt or a filled window | writing speed | 124.975 | decode at a deeper context tier | The free speed wasn't free — the runtime dividend, traced to one commit, § The day the box got faster |
| R5 | a long prompt or a filled window | wait | 721.95 | first token, ms | A laptop, asked the desktop's questions, § The tables |
| R5 | a long prompt or a filled window | wait | 744.92 | first token, ms | A laptop, asked the desktop's questions, § The tables |
| R5 | a long prompt or a filled window: a wait measured at a 4,038-token prompt, over 600 | wait | 1.06 | first word, seconds | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The desktop card: one engine a night |
| R5 | a long prompt or a filled window: a wait measured at a 4,038-token prompt, over 600 | wait | 1.9 | first word, seconds | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The first word (the laptop, the IQ3_S file) |
| R5 | a long prompt or a filled window: a wait measured at a 4,038-token prompt, over 600 | wait | 1.92 | first word, seconds | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The 24 GB desktop card: both engines in one window |
| R5 | a long prompt or a filled window | wait | 11.5 | first word, seconds | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The Q2_0 pair (the laptop) |
| R5 | a long prompt or a filled window | wait | 12.1 | first word, seconds | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The first word (the laptop, the IQ3_S file) |
| R5 | a long prompt or a filled window | wait | 12.14 | first word, seconds | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The 24 GB desktop card: both engines in one window |
| R5 | a long prompt or a filled window | wait | 125.6 | first word, seconds | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The first word (the laptop, the IQ3_S file) |
| R5 | a long prompt or a filled window | wait | 130.90 | first word, seconds | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The 24 GB desktop card: both engines in one window |
| R5 | a long prompt or a filled window | wait | 138.02 | first word, seconds | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The 24 GB desktop card: both engines in one window |
| R5 | a long prompt or a filled window: a wait measured at a 4,038-token prompt, over 600 | wait | 15.84 | first word, seconds | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The 24 GB desktop card: both engines in one window |
| R5 | a long prompt or a filled window: a wait measured at a 4,038-token prompt, over 600 | wait | 16.87 | first word, seconds | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The 24 GB desktop card: both engines in one window |
| R5 | a long prompt or a filled window: a wait measured at a 4,038-token prompt, over 600 | wait | 19.1 | first word, seconds | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The first word (the laptop, the IQ3_S file) |
| R5 | a long prompt or a filled window: a wait measured at a 4,038-token prompt, over 600 | wait | 2.52 | first word, seconds | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The desktop card: one engine a night |
| R5 | a long prompt or a filled window | wait | 20.91 | first word, seconds | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The desktop card: one engine a night |
| R5 | a long prompt or a filled window | wait | 204.4 | first word, seconds | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The first word (the laptop, the IQ3_S file) |
| R5 | a long prompt or a filled window | wait | 26.63 | first word, seconds | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The desktop card: one engine a night |
| R5 | a long prompt or a filled window | wait | 321.8 | first word, seconds | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The Q2_0 pair (the laptop) |
| R5 | a long prompt or a filled window | wait | 45.2 | first word, seconds | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The Q2_0 pair (the laptop) |
| R5 | a long prompt or a filled window | wait | 47.6 | first word, seconds | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The first word (the laptop, the IQ3_S file) |
| R5 | a long prompt or a filled window | wait | 50.0 | first word, seconds | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The first word (the laptop, the IQ3_S file) |
| R5 | a long prompt or a filled window | wait | 51.05 | first word, seconds | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The 24 GB desktop card: both engines in one window |
| R5 | a long prompt or a filled window | wait | 528.72 | first word, seconds | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The 24 GB desktop card: both engines in one window |
| R5 | a long prompt or a filled window | wait | 545.1 | first word, seconds | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The first word (the laptop, the IQ3_S file) |
| R5 | a long prompt or a filled window | wait | 566.57 | first word, seconds | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The 24 GB desktop card: both engines in one window |
| R5 | a long prompt or a filled window | wait | 6.37 | first word, seconds | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The desktop card: one engine a night |
| R5 | a long prompt or a filled window: a wait measured at a 4,038-token prompt, over 600 | wait | 7.6 | first word, seconds | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The first word (the laptop, the IQ3_S file) |
| R5 | a long prompt or a filled window | wait | 73.3 | first word, seconds | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The Q2_0 pair (the laptop) |
| R5 | a long prompt or a filled window: a wait measured at a 4,038-token prompt, over 600 | wait | 9.5 | first word, seconds | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The Q2_0 pair (the laptop) |
| R5 | a long prompt or a filled window | wait | 94.22 | first word, seconds | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The desktop card: one engine a night |
| R5 | a long prompt or a filled window | reading speed | 1,362.8 | prompt rate, tokens a second, the engine's clock | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The desktop card: one engine a night |
| R5 | a long prompt or a filled window | reading speed | 1,539.1 | prompt rate, tokens a second, the engine's clock | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The desktop card: one engine a night |
| R5 | a long prompt or a filled window | reading speed | 2,535.0 | prompt rate, tokens a second, the engine's clock | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The 24 GB desktop card: both engines in one window |
| R5 | a long prompt or a filled window | reading speed | 2,655.1 | prompt rate, tokens a second, the engine's clock | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The first word (the laptop, the IQ3_S file) |
| R5 | a long prompt or a filled window | reading speed | 2,671.6 | prompt rate, tokens a second, the engine's clock | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The 24 GB desktop card: both engines in one window |
| R5 | a long prompt or a filled window | reading speed | 2,705.0 | prompt rate, tokens a second, the engine's clock | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The first word (the laptop, the IQ3_S file) |
| R5 | a long prompt or a filled window | reading speed | 226.1 | prompt rate, tokens a second, the engine's clock | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The 24 GB desktop card: both engines in one window |
| R5 | a long prompt or a filled window | reading speed | 232.3 | prompt rate, tokens a second, the engine's clock | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The 24 GB desktop card: both engines in one window |
| R5 | a long prompt or a filled window | reading speed | 234.9 | prompt rate, tokens a second, the engine's clock | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The first word (the laptop, the IQ3_S file) |
| R5 | a long prompt or a filled window | reading speed | 242.3 | prompt rate, tokens a second, the engine's clock | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The 24 GB desktop card: both engines in one window |
| R5 | a long prompt or a filled window | reading speed | 244.9 | prompt rate, tokens a second, the engine's clock | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The 24 GB desktop card: both engines in one window |
| R5 | a long prompt or a filled window | reading speed | 255.1 | prompt rate, tokens a second, the engine's clock | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The first word (the laptop, the IQ3_S file) |
| R5 | a long prompt or a filled window | reading speed | 4,908.1 | prompt rate, tokens a second, the engine's clock | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The desktop card: one engine a night |
| R5 | a long prompt or a filled window | reading speed | 5,143.9 | prompt rate, tokens a second, the engine's clock | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The desktop card: one engine a night |
| R5 | a long prompt or a filled window | reading speed | 626.7 | prompt rate, tokens a second, the engine's clock | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The first word (the laptop, the IQ3_S file) |
| R5 | a long prompt or a filled window | reading speed | 640.9 | prompt rate, tokens a second, the engine's clock | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The first word (the laptop, the IQ3_S file) |
| R6 | a reviewed exclusion: by its label, one model split over two different cards | writing speed | 71.48 | decode, tokens a second, split, seats stopped | A Short History of Mistral, § What a power cap actually costs |
| R6 | a reviewed exclusion: by its label, one model split over two different cards, with other work on them | writing speed | 38.22 | decode, tokens a second, split, seats up | A Short History of Mistral, § What a power cap actually costs |
| R6 | a reviewed exclusion: by its label, a second clock on a run its (scored) row already counts | writing speed | 78.118 | decode, tokens a second (the server's own clock) | Ollama and vLLM on one RTX 3090, § One request at a time |
| R6 | a reviewed exclusion: by its label, a second clock on a run its (scored) row already counts | writing speed | 85.553 | decode, tokens a second (the server's own clock) | Ollama and vLLM on one RTX 3090, § One request at a time |
| R6 | a reviewed exclusion: by row, Ollama 0.32.9, before the upstream fix its own exhibit traces (the after-upgrade reading is 202-214 on 0.32.13) | writing speed | 139.55 (n=6, range 137.75–150.49) | sealed bench median decode | The free speed wasn't free — the runtime dividend, traced to one commit, § The day the box got faster |
| R6 | a reviewed exclusion: by row, a rounded reprint of 126.650 in “RTX 3090 vs RTX 3090 Ti: an inference and diffusion bench”; the more precise copy counts | writing speed | 126.7 | decode summed across conversations, tokens a second | Two 3080s against one 3090, and the cap decides, § The full concurrency ladder |
| R6 | a reviewed exclusion: by row, a rounded reprint of 134.754 in “RTX 3090 vs RTX 3090 Ti: an inference and diffusion bench”; the more precise copy counts | writing speed | 134.8 | decode summed across conversations, tokens a second | Two 3080s against one 3090, and the cap decides, § The full concurrency ladder |
| R6 | a reviewed exclusion: by row, a rounded reprint of 136.139 in “RTX 3090 vs RTX 3090 Ti: an inference and diffusion bench”; the more precise copy counts | writing speed | 136.1 | decode, tokens a second | Two 3080s against one 3090, and the cap decides, § How fast does each one write? |
| R6 | a reviewed exclusion: by row, a rounded reprint of 33.265 in “RTX 3090 vs RTX 3090 Ti: an inference and diffusion bench”; the more precise copy counts | writing speed | 33.3 | decode, tokens a second | Two 3080s against one 3090, and the cap decides, § How fast does each one write? |
| R6 | a reviewed exclusion: by row, a rounded reprint of 47.838 in “RTX 3090 vs RTX 3090 Ti: an inference and diffusion bench”; the more precise copy counts | writing speed | 47.8 | decode, tokens a second | Two 3080s against one 3090, and the cap decides, § How fast does each one write? |
| R7 | another version of the same engine on this card (not stated; 0.32.13 is shown: the version is stated; the other rows' exhibit does not state one) | writing speed | 126.12 tokens a second | decode, tokens a second | A Short History of Mistral, § What we measured on two cards in one box |
| R7 | another version of the same engine on this card (not stated; 0.32.13 is shown: the version is stated; the other rows' exhibit does not state one) | writing speed | 136.49 | decode, tokens a second | A Short History of Mistral, § What a power cap actually costs |
| R7 | another version of the same engine on this card (not stated; 0.32.13 is shown: the version is stated; the other rows' exhibit does not state one) | writing speed | 34.13 tokens a second | decode, tokens a second | A Short History of Mistral, § What we measured on two cards in one box |
| R7 | another version of the same engine on this card (not stated; 0.32.13 is shown: the version is stated; the other rows' exhibit does not state one) | writing speed | 48.18 | decode, tokens a second | A Short History of Mistral, § What a power cap actually costs |
| R7 | another version of the same engine on this card (not stated; 0.32.13 is shown: the version is stated; the other rows' exhibit does not state one) | writing speed | 50.02 | decode, tokens a second | A Short History of Mistral, § What a power cap actually costs |
| R7 | another version of the same engine on this card (3cf03257; b11514 is shown: the current build, 452 commits after 3cf03257, per its exhibit) | writing speed | 22.490 | writing speed, tokens a second | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The 24 GB desktop card: both engines in one window |
| R7 | another version of the same engine on this card (0.27.1; 0.30.0 is shown: the newer of the two versions measured (0.27.1 on 2026-09-28, 0.30.0 on 2026-10-01)) | writing speed | 78.126 | decode, tokens a second (scored) | Ollama and vLLM on one RTX 3090, § One request at a time |
| R7 | another version of the same engine on this card (0.32.13; 0.34.4 is shown: the newer of the two versions measured (0.32.13 on 2026-09-28, 0.34.4 on 2026-10-01)) | writing speed | 85.216 | decode, tokens a second (scored) | Ollama and vLLM on one RTX 3090, § One request at a time |
| R7 | another version of the same engine on this card (3cf03257; b11514 is shown: the current build, 452 commits after 3cf03257, per its exhibit) | reading speed | 239.7 | prompt rate, tokens a second, the engine's clock | Why the first word comes sooner: the Strata engine and llama.cpp on Qwen3.8-Flash-Next, the full bench, § The 24 GB desktop card: both engines in one window |
| R8 | not at the card's stock power limit: 95 W, the stock limit, was measured too | writing speed | 155.231 | summed tokens/s | A laptop, asked the desktop's questions, § The tables |
| R8 | not at the card's stock power limit: 95 W, the stock limit, was measured too | writing speed | 155.251 | tokens/s | A laptop, asked the desktop's questions, § The tables |
| R8 | not at the card's stock power limit: 95 W, the stock limit, was measured too | writing speed | 155.288 | tokens/s | A laptop, asked the desktop's questions, § The tables |
| R8 | not at the card's stock power limit: 95 W, the stock limit, was measured too | writing speed | 44.702 | tokens/s | A laptop, asked the desktop's questions, § The tables |
| R8 | not at the card's stock power limit: 95 W, the stock limit, was measured too | writing speed | 44.897 | tokens/s | A laptop, asked the desktop's questions, § The tables |
| R8 | not at the card's stock power limit: 95 W, the stock limit, was measured too | writing speed | 121.733 (121.722–121.762) | tokens/s (spread of three) | A laptop, asked the desktop's questions, § The tables |
| R8 | not at the card's stock power limit: 95 W, the stock limit, was measured too | writing speed | 155.712 (155.641–155.908) | tokens/s (spread of three) | A laptop, asked the desktop's questions, § The tables |
| R8 | not at the card's stock power limit: 95 W, the stock limit, was measured too | writing speed | 165.656 (165.545–166.175) | tokens/s (spread of three) | A laptop, asked the desktop's questions, § The tables |
| R8 | not at the card's stock power limit: 95 W, the stock limit, was measured too | writing speed | 44.946 (44.917–44.963) | tokens/s (spread of three) | A laptop, asked the desktop's questions, § The tables |
| R8 | not at the card's stock power limit: 450 W, the stock limit, was measured too | writing speed | 146.780, 19,428 MiB | decode at the full window, and the memory it used | RTX 3090 vs RTX 3090 Ti: an inference and diffusion bench, § What fits, and what the cache costs |
| R8 | not at the card's stock power limit: 450 W, the stock limit, was measured too | writing speed | 159.410 tok/s, 21,008 MiB | decode at the full window, and the memory it used | RTX 3090 vs RTX 3090 Ti: an inference and diffusion bench, § What fits, and what the cache costs |
| R8 | not at the card's stock power limit: 350 W, the stock limit, was measured too | writing speed | 126.650 | decode summed across conversations, tokens a second | RTX 3090 vs RTX 3090 Ti: an inference and diffusion bench, § Three more arms |
| R8 | not at the card's stock power limit: 350 W, the stock limit, was measured too | writing speed | 134.754 | decode summed across conversations, tokens a second | RTX 3090 vs RTX 3090 Ti: an inference and diffusion bench, § Three more arms |
| R8 | not at the card's stock power limit: 450 W, the stock limit, was measured too | writing speed | 145.817 | decode summed across conversations, tokens a second | RTX 3090 vs RTX 3090 Ti: an inference and diffusion bench, § Three more arms |
| R8 | not at the card's stock power limit: 450 W, the stock limit, was measured too | writing speed | 146.996 | decode summed across conversations, tokens a second | RTX 3090 vs RTX 3090 Ti: an inference and diffusion bench, § Three more arms |
| R8 | not at the card's stock power limit: 450 W, the stock limit, was measured too | writing speed | 147.201 | decode summed across conversations, tokens a second | RTX 3090 vs RTX 3090 Ti: an inference and diffusion bench, § Three more arms |
| R8 | not at the card's stock power limit: 350 W, the stock limit, was measured too | writing speed | 136.139 | decode, tokens a second | RTX 3090 vs RTX 3090 Ti: an inference and diffusion bench, § What a power cap takes, and what each card does at its own limit |
| R8 | not at the card's stock power limit: 450 W, the stock limit, was measured too | writing speed | 145.908 | decode, tokens a second | RTX 3090 vs RTX 3090 Ti: an inference and diffusion bench, § What a power cap takes, and what each card does at its own limit |
| R8 | not at the card's stock power limit: 450 W, the stock limit, was measured too | writing speed | 147.599 | decode, tokens a second | RTX 3090 vs RTX 3090 Ti: an inference and diffusion bench, § The two models want different caps |
| R8 | not at the card's stock power limit: 450 W, the stock limit, was measured too | writing speed | 147.823 | decode, tokens a second | RTX 3090 vs RTX 3090 Ti: an inference and diffusion bench, § What a power cap takes, and what each card does at its own limit |
| R8 | not at the card's stock power limit: 350 W, the stock limit, was measured too | writing speed | 33.265 | decode, tokens a second | RTX 3090 vs RTX 3090 Ti: an inference and diffusion bench, § What a power cap takes, and what each card does at its own limit |
| R8 | not at the card's stock power limit: 450 W, the stock limit, was measured too | writing speed | 42.969 | decode, tokens a second | RTX 3090 vs RTX 3090 Ti: an inference and diffusion bench, § What a power cap takes, and what each card does at its own limit |
| R8 | not at the card's stock power limit: 350 W, the stock limit, was measured too | writing speed | 47.838 | decode, tokens a second | RTX 3090 vs RTX 3090 Ti: an inference and diffusion bench, § What a power cap takes, and what each card does at its own limit |
| R8 | not at the card's stock power limit: 450 W, the stock limit, was measured too | writing speed | 53.354 | decode, tokens a second | RTX 3090 vs RTX 3090 Ti: an inference and diffusion bench, § What a power cap takes, and what each card does at its own limit |
| R8 | not at the card's stock power limit: 450 W, the stock limit, was measured too | writing speed | 56.936 | decode, tokens a second | RTX 3090 vs RTX 3090 Ti: an inference and diffusion bench, § What a power cap takes, and what each card does at its own limit |
| R8 | not at the card's stock power limit: 350 W, the stock limit, was measured too | writing speed | 124.7 tok/s, 19,415 MiB | decode at the full window, and the memory it used | Two 3080s against one 3090, and the cap decides, § What the cache type costs |
| R8 | not at the card's stock power limit: 350 W, the stock limit, was measured too | writing speed | 133.6 tok/s, 20,995 MiB | decode at the full window, and the memory it used | Two 3080s against one 3090, and the cap decides, § What the cache type costs |
| R8 | not at the card's stock power limit: 350 W, the stock limit, was measured too | writing speed | 125.6 | decode, tokens a second | Two 3080s against one 3090, and the cap decides, § How fast does each one write? |
| R8 | not at the card's stock power limit: 350 W, the stock limit, was measured too | writing speed | 33.1 | decode, tokens a second | Two 3080s against one 3090, and the cap decides, § How fast does each one write? |
| R8 | not at the card's stock power limit: 95 W, the stock limit, was measured too | wait | 132.94 | first token, ms | A laptop, asked the desktop's questions, § The tables |
| R8 | not at the card's stock power limit: 95 W, the stock limit, was measured too | wait | 191.65 | first token, ms | A laptop, asked the desktop's questions, § The tables |
| R8 | not at the card's stock power limit: 95 W, the stock limit, was measured too | wait | 203.72 | first token, ms | A laptop, asked the desktop's questions, § The tables |
| R8 | not at the card's stock power limit: 95 W, the stock limit, was measured too | wait | 208.97 | first token, ms | A laptop, asked the desktop's questions, § The tables |
| R8 | not at the card's stock power limit: 95 W, the stock limit, was measured too | wait | 336.23 | first token, ms | A laptop, asked the desktop's questions, § The tables |
| R8 | not at the card's stock power limit: 95 W, the stock limit, was measured too | wait | 371.01 | first token, ms | A laptop, asked the desktop's questions, § The tables |
| R8 | not at the card's stock power limit: 95 W, the stock limit, was measured too | wait | 372.92 | first token, ms | A laptop, asked the desktop's questions, § The tables |
| R8 | not at the card's stock power limit: 95 W, the stock limit, was measured too | wait | 401.70 | first token, ms | A laptop, asked the desktop's questions, § The tables |
| R8 | not at the card's stock power limit: 95 W, the stock limit, was measured too | wait | 439.78 | first token, ms | A laptop, asked the desktop's questions, § The tables |
The texts and the tokenizers
The prose is the opening of Reading is fast, writing is slow — why AI answers arrive word by word (published 2026-08-19), sha256
5bb52c72ba6e9ddef2ac3f66e0866a13c18833285eff68bd66a1e7d235347ad9; the code is parse_value in speed/speed_values.py at commit b22e8980637b,
sha256 eba1db214ac4b36daf2eab64ae1bd6684b22f05cd3a68001064bfd3ea49b18ec. Each tokenizer file was read once, at a pinned revision, with tokenizers 0.23.2,
and is not fetched again by the build:
- Gemma 4: google/gemma-4-12B-it at
707f0a3b8a3c, tokenizer.json, sha256cc8d3a0ce36466ccc1278bf987df5f71db1719b9ca6b4118264f45cb627bfe0f; the prose in 415 tokens, the code in 484. - MiniCPM-V 4.5: openbmb/MiniCPM-V-4_5 at
daef484c35ec, tokenizer.json, sha256c5a94a2c3913b8aa2175fffb5fd6cf4301958f323d06475bfd91037c13bdd74b; the prose in 418 tokens, the code in 403. - Mistral NeMo: mistralai/Mistral-Nemo-Instruct-2407 at
04d8a90549d2, tokenizer.json, sha256e11c71726323d33da7b8d6f6f269f1988931c0a52b7122bcdd8c05042974e0db; the prose in 419 tokens, the code in 430. - Mistral Small 3.2: unsloth/Mistral-Small-3.2-24B-Instruct-2506 at
3ed8d341b53e, tokenizer.json, sha25623ad081f384b2bdb3c97f6e5461dfce52c1174c7328854a55006988f0fef9da7; the prose in 419 tokens, the code in 430. - Nemotron 3.5 Lightning: nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-BF16 at
a9904d24bcc1, tokenizer.json, sha256623c34567aebb18582765289fbe23d901c62704d6518d71866e0e58db892b5b7; the prose in 419 tokens, the code in 430. - Phi-4: microsoft/phi-4 at
2db69c1c3e91, tokenizer.json, sha2569f38d05d9d25756bb2f181ab5a0cebcd59e638df10336fc7ed1010f7296d0298; the prose in 417 tokens, the code in 402. - Qwen3.5: Qwen/Qwen3.5-9B at
c20223623576, tokenizer.json, sha2565f9e4d4901a92b997e463c1f46055088b6cca5ca61a6522d1b9f64c4bb81cb42; the prose in 420 tokens, the code in 441. - Qwen3.8-Flash-Next: Qwen/Qwen3.8-Flash-Next at
de4b8e4d43b9, tokenizer.json, sha2560997f410c57a1f4e53b09e4be8f4a172d90edd9564368fb0847030937229b9f3; the prose in 420 tokens, the code in 441.
Published under CC BY 4.0, as the roster is.