a fanless-class mini desktop, CPU-only inference, 32 GB of memory and no discrete GPU — the machine of the two-hour battery test
It holds — Intel Core i5-12600H.
Language — decode, prefill and first token
Sorted by model, then by power cap ascending — alphabetical and numeric, never by value. Every condition the page states is printed; a condition it does not state reads not stated, which is a third thing and not an uncapped card. The columns a narrow screen cannot hold are printed under the row rather than scrolled to.
| value | what was measured | model | power cap | runtime | measurement window |
|---|---|---|---|---|---|
| ~12 tokens/second for about two hours on battery — and sit ready to answer for seven and a half | decode on battery, and how long it lasts | a 26-billion-parameter model | not stated | Ollama · version not stated | 2026-08-31, 02:38:31–03:05:02Z |
| a 26-billion-parameter modelnot statedOllama · version not stated2026-08-31, 02:38:31–03:05:02Z | |||||
| 4-bit32 K context pinnednot statednot statedtwo-hours-on-battery · two-hours-at-12-tok-s-the-test-that-named-the-page · carried by hand, proved against that page’s own row · identity from the same section | |||||
| 6.0 tok/s | decode, median of five scored runs | gemma4:12b | not stated | Ollama · 0.32.15 | 2026-08-25 (UTC) |
| gemma4:12bnot statedOllama · 0.32.152026-08-25 (UTC) | |||||
| Q4_K_Ma 4,096-token contextOllama's own default of 4 threadsnot statedtwo-hours-on-battery · the-one-table-to-remember · carried by hand, proved against that page’s own row · identity from the same page | |||||
| 25.6 s | time to first token, median of five cold-prefix runs | gemma4:12b | not stated | Ollama · 0.32.15 | 2026-08-25 (UTC) |
| gemma4:12bnot statedOllama · 0.32.152026-08-25 (UTC) | |||||
| Q4_K_Ma 4,096-token context536 prompt tokens, Ollama's own default of 4 threadsnot statedtwo-hours-on-battery · the-wait-prefill-is-the-real-cpu-tax · carried by hand, proved against that page’s own row · identity from the same page | |||||
| 12.7 tok/s | decode, median of five scored runs | gemma4:26b | not stated | Ollama · 0.32.15 | 2026-08-25 (UTC) |
| gemma4:26bnot statedOllama · 0.32.152026-08-25 (UTC) | |||||
| Q4_K_Ma 4,096-token contextOllama's own default of 4 threadsnot statedtwo-hours-on-battery · the-one-table-to-remember · carried by hand, proved against that page’s own row · identity from the same page | |||||
| 11.4 s | time to first token, median of five cold-prefix runs | gemma4:26b (MoE) | not stated | Ollama · 0.32.15 | 2026-08-25 (UTC) |
| gemma4:26b (MoE)not statedOllama · 0.32.152026-08-25 (UTC) | |||||
| Q4_K_Ma 4,096-token context536 prompt tokens, Ollama's own default of 4 threadsnot statedtwo-hours-on-battery · the-wait-prefill-is-the-real-cpu-tax · carried by hand, proved against that page’s own row · identity from the same page | |||||
| 3.3 tok/s | decode, median of five scored runs | mistral-small3.2:24b | not stated | Ollama · 0.32.15 | 2026-08-25 (UTC) |
| mistral-small3.2:24bnot statedOllama · 0.32.152026-08-25 (UTC) | |||||
| Q4_K_Ma 4,096-token contextOllama's own default of 4 threadsnot statedtwo-hours-on-battery · the-one-table-to-remember · carried by hand, proved against that page’s own row · identity from the same page | |||||
| 97.7 s | time to first token, median of five cold-prefix runs | mistral-small3.2:24b | not stated | Ollama · 0.32.15 | 2026-08-25 (UTC) |
| mistral-small3.2:24bnot statedOllama · 0.32.152026-08-25 (UTC) | |||||
| Q4_K_Ma 4,096-token context1,023 prompt tokens, Ollama's own default of 4 threadsnot statedtwo-hours-on-battery · the-wait-prefill-is-the-real-cpu-tax · carried by hand, proved against that page’s own row · identity from the same page | |||||
| 14.6 tok/s | decode, median of five scored runs | nemotron-3.5-lightning:30b-a3b | not stated | Ollama · 0.32.15 | 2026-08-25 (UTC) |
| nemotron-3.5-lightning:30b-a3bnot statedOllama · 0.32.152026-08-25 (UTC) | |||||
| Q4_K_Ma 4,096-token contextOllama's own default of 4 threadsnot statedtwo-hours-on-battery · the-one-table-to-remember · carried by hand, proved against that page’s own row · identity from the same page | |||||
| 14.1 s | time to first token, median of five cold-prefix runs | nemotron-3.5-lightning:30b-a3b (MoE) | not stated | Ollama · 0.32.15 | 2026-08-25 (UTC) |
| nemotron-3.5-lightning:30b-a3b (MoE)not statedOllama · 0.32.152026-08-25 (UTC) | |||||
| Q4_K_Ma 4,096-token context532 prompt tokens, Ollama's own default of 4 threadsnot statedtwo-hours-on-battery · the-wait-prefill-is-the-real-cpu-tax · carried by hand, proved against that page’s own row · identity from the same page | |||||
| 5.2 tok/s | decode, median of five scored runs | phi4:14b | not stated | Ollama · 0.32.15 | 2026-08-25 (UTC) |
| phi4:14bnot statedOllama · 0.32.152026-08-25 (UTC) | |||||
| Q4_K_Ma 4,096-token contextOllama's own default of 4 threadsnot statedtwo-hours-on-battery · the-one-table-to-remember · carried by hand, proved against that page’s own row · identity from the same page | |||||
| 35.4 s | time to first token, median of five cold-prefix runs | phi4:14b | not stated | Ollama · 0.32.15 | 2026-08-25 (UTC) |
| phi4:14bnot statedOllama · 0.32.152026-08-25 (UTC) | |||||
| Q4_K_Ma 4,096-token context505 prompt tokens, Ollama's own default of 4 threadsnot statedtwo-hours-on-battery · the-wait-prefill-is-the-real-cpu-tax · carried by hand, proved against that page’s own row · identity from the same page | |||||
| 9.1 tok/s | decode, median of five scored runs | qwen3.5:9b | not stated | Ollama · 0.32.15 | 2026-08-25 (UTC) |
| qwen3.5:9bnot statedOllama · 0.32.152026-08-25 (UTC) | |||||
| Q4_K_Ma 4,096-token contextOllama's own default of 4 threadsnot statedtwo-hours-on-battery · the-one-table-to-remember · carried by hand, proved against that page’s own row · identity from the same page | |||||
| 16.0 s | time to first token, median of five cold-prefix runs | qwen3.5:9b | not stated | Ollama · 0.32.15 | 2026-08-25 (UTC) |
| qwen3.5:9bnot statedOllama · 0.32.152026-08-25 (UTC) | |||||
| Q4_K_Ma 4,096-token context537 prompt tokens, Ollama's own default of 4 threadsnot statedtwo-hours-on-battery · the-wait-prefill-is-the-real-cpu-tax · carried by hand, proved against that page’s own row · identity from the same page | |||||
Power, temperature, and what it costs
1 row — same rule as above.
| value | what was measured | model | power cap | runtime | measurement window |
|---|---|---|---|---|---|
| 51.1 GB/s | memory bandwidth, best triad | not stated | not stated | a STREAM triad, gcc -O3 -march=native -fopenmp · version not stated | 2026-08-25 (UTC), 17:57–19:46Z |
| not statednot stateda STREAM triad, gcc -O3 -march=native -fopenmp · version not stated2026-08-25 (UTC), 17:57–19:46Z | |||||
| not statednot stateda 2,289 MiB working set, best of 9 timed repsnot statedtwo-hours-on-battery · read-this-before-the-table-cpu-speed-is-a-memory-bandwidth · carried by hand, proved against that page’s own row · identity from the row itself | |||||
Where it appears
Every released exhibit that names this identity, in the shelf’s own order. A count beside an exhibit is how many of its figures are carried above — and it links them, because a number with no way back to what it counts is the thing this shelf exists against.
- A Short History of Mistral — named, and no figure carried from it — yet
- The cost to purchase and run a very capable home AI rig — named, and no figure carried from it — yet
- The Two-Hour Machine, Priced — named, and no figure carried from it — yet
- Two Hours at 12 tok/s — 14 figures on this page
How this one is named here
The canonical name above is the full product name. Everything below is a spelling a published page or kit has actually used for it, kept so a reader who searches an older page’s words lands on this row. The set is closed and historical: no page cut after 2026-09-17 writes a memory class where it can write a card.
- [mini PC that ran the two-hour battery test]
- a Minisforum MS-01 mini PC
- a mini PC with 32G RAM and a 12-core Intel processor
- a mini PC with 32G RAM: 16 logical CPUs - 4 performance cores with hyperthreading (8 performance logical CPUs) plus 8 efficiency cores; hybrid Intel part; no discrete GPU at all
- cpu-mini
- the mini
- the mini (32G)
- this bench's mini rig
- this bench's own mini PC