The hardware roster · one machine

the mini PC

Minisforum·whole machine·18 figures, from 1 exhibit · named in 8 exhibits

This roster is in beta and still being tested: every figure is proved against the page it came from, and the way they are read and shown is still changing.

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.

Narrow these 18 figuresevery modelmodel: a 26-billion-parameter model · 5 of 18 figuresmodel: gemma4:12b · 2 of 18 figuresmodel: gemma4:26b · 2 of 18 figuresmodel: Mistral Small 3.2 · 2 of 18 figuresmodel: nemotron-3.5-lightning:30b-a3b · 2 of 18 figuresmodel: phi4:14b · 2 of 18 figuresmodel: qwen3.5:9b · 2 of 18 figuresmodel: not stated · 1 of 18 figures
Narrow by model

gemma4:26b, as this shelf’s pages spell itgemma4:26b · gemma4:26b (MoE)Mistral Small 3.2, as this shelf’s pages spell itmistral-small3.2:24bnemotron-3.5-lightning:30b-a3b, as this shelf’s pages spell itnemotron-3.5-lightning:30b-a3b · nemotron-3.5-lightning:30b-a3b (MoE)

Grouped by the model tag the model roster knows, where it knows one; the page’s own words for it stay on every row.

The rail is CSS and nothing else — no script runs on this page. It narrows by model and by power cap independently, and the line above says what each one is set to; the size of the two together is the one number it cannot count. A group or a band with nothing left in it goes with its rows, so what you are left looking at is what matched. A narrowed view is not part of the address, so it cannot be linked — each card’s own page is a URL, and that is the thing to share.

Language — decode, prefill and first token

Grouped by model and by what was measured, and inside a group sorted by power cap ascending — alphabetical and numeric, never by value. The heading of a group carries everything that does not change inside it; each row carries the value and the conditions that do. A condition the page does not state reads not stated, which is a third thing and not an uncapped card. A † means the same reading is printed in a second place on its exhibit — one reading, two printings, not two figures.

valuewhat moves inside this group
gemma4:12b decode, median of five scored runstok/sQ4_K_M · Ollama · 0.32.15 · a 4,096-token context · Ollama's own default of 4 threads · 2026-08-25 (UTC) · power cap and concurrency not stated
6.0 tok/s
from Two Hours at 12 tok/s § The one table to rememberread off that page’s own table by the roster’s reader, then checked against it word for word · the card is named elsewhere on that page · read from two-hours-on-battery · section id #the-one-table-to-remember
gemma4:12b time to first token, median of five cold-prefix runssQ4_K_M · Ollama · 0.32.15 · a 4,096-token context · 536 prompt tokens, Ollama's own default of 4 threads · 2026-08-25 (UTC) · power cap and concurrency not stated
25.6 s
from Two Hours at 12 tok/s § The wait: prefill is the real CPU taxread off that page’s own table by the roster’s reader, then checked against it word for word · the card is named elsewhere on that page · read from two-hours-on-battery · section id #the-wait-prefill-is-the-real-cpu-tax
gemma4:26b decode, median of five scored runstok/sQ4_K_M · Ollama · 0.32.15 · a 4,096-token context · Ollama's own default of 4 threads · 2026-08-25 (UTC) · power cap and concurrency not stated
12.7 tok/s
from Two Hours at 12 tok/s § The one table to rememberread off that page’s own table by the roster’s reader, then checked against it word for word · the card is named elsewhere on that page · read from two-hours-on-battery · section id #the-one-table-to-remember
gemma4:26b the page says: gemma4:26b (MoE) time to first token, median of five cold-prefix runssQ4_K_M · Ollama · 0.32.15 · a 4,096-token context · 536 prompt tokens, Ollama's own default of 4 threads · 2026-08-25 (UTC) · power cap and concurrency not stated
11.4 s
from Two Hours at 12 tok/s § The wait: prefill is the real CPU taxread off that page’s own table by the roster’s reader, then checked against it word for word · the card is named elsewhere on that page · read from two-hours-on-battery · section id #the-wait-prefill-is-the-real-cpu-tax
Mistral Small 3.2 the page says: mistral-small3.2:24b decode, median of five scored runstok/sQ4_K_M · Ollama · 0.32.15 · a 4,096-token context · Ollama's own default of 4 threads · 2026-08-25 (UTC) · power cap and concurrency not stated
3.3 tok/s
from Two Hours at 12 tok/s § The one table to rememberread off that page’s own table by the roster’s reader, then checked against it word for word · the card is named elsewhere on that page · read from two-hours-on-battery · section id #the-one-table-to-remember
Mistral Small 3.2 the page says: mistral-small3.2:24b time to first token, median of five cold-prefix runssQ4_K_M · Ollama · 0.32.15 · a 4,096-token context · 1,023 prompt tokens, Ollama's own default of 4 threads · 2026-08-25 (UTC) · power cap and concurrency not stated
97.7 s
from Two Hours at 12 tok/s § The wait: prefill is the real CPU taxread off that page’s own table by the roster’s reader, then checked against it word for word · the card is named elsewhere on that page · read from two-hours-on-battery · section id #the-wait-prefill-is-the-real-cpu-tax
nemotron-3.5-lightning:30b-a3b decode, median of five scored runstok/sQ4_K_M · Ollama · 0.32.15 · a 4,096-token context · Ollama's own default of 4 threads · 2026-08-25 (UTC) · power cap and concurrency not stated
14.6 tok/s
from Two Hours at 12 tok/s § The one table to rememberread off that page’s own table by the roster’s reader, then checked against it word for word · the card is named elsewhere on that page · read from two-hours-on-battery · section id #the-one-table-to-remember
nemotron-3.5-lightning:30b-a3b the page says: nemotron-3.5-lightning:30b-a3b (MoE) time to first token, median of five cold-prefix runssQ4_K_M · Ollama · 0.32.15 · a 4,096-token context · 532 prompt tokens, Ollama's own default of 4 threads · 2026-08-25 (UTC) · power cap and concurrency not stated
14.1 s
from Two Hours at 12 tok/s § The wait: prefill is the real CPU taxread off that page’s own table by the roster’s reader, then checked against it word for word · the card is named elsewhere on that page · read from two-hours-on-battery · section id #the-wait-prefill-is-the-real-cpu-tax
phi4:14b decode, median of five scored runstok/sQ4_K_M · Ollama · 0.32.15 · a 4,096-token context · Ollama's own default of 4 threads · 2026-08-25 (UTC) · power cap and concurrency not stated
5.2 tok/s
from Two Hours at 12 tok/s § The one table to rememberread off that page’s own table by the roster’s reader, then checked against it word for word · the card is named elsewhere on that page · read from two-hours-on-battery · section id #the-one-table-to-remember
phi4:14b time to first token, median of five cold-prefix runssQ4_K_M · Ollama · 0.32.15 · a 4,096-token context · 505 prompt tokens, Ollama's own default of 4 threads · 2026-08-25 (UTC) · power cap and concurrency not stated
35.4 s
from Two Hours at 12 tok/s § The wait: prefill is the real CPU taxread off that page’s own table by the roster’s reader, then checked against it word for word · the card is named elsewhere on that page · read from two-hours-on-battery · section id #the-wait-prefill-is-the-real-cpu-tax
qwen3.5:9b decode, median of five scored runstok/sQ4_K_M · Ollama · 0.32.15 · a 4,096-token context · Ollama's own default of 4 threads · 2026-08-25 (UTC) · power cap and concurrency not stated
9.1 tok/s
from Two Hours at 12 tok/s § The one table to rememberread off that page’s own table by the roster’s reader, then checked against it word for word · the card is named elsewhere on that page · read from two-hours-on-battery · section id #the-one-table-to-remember
qwen3.5:9b time to first token, median of five cold-prefix runssQ4_K_M · Ollama · 0.32.15 · a 4,096-token context · 537 prompt tokens, Ollama's own default of 4 threads · 2026-08-25 (UTC) · power cap and concurrency not stated
16.0 s
from Two Hours at 12 tok/s § The wait: prefill is the real CPU taxread off that page’s own table by the roster’s reader, then checked against it word for word · the card is named elsewhere on that page · read from two-hours-on-battery · section id #the-wait-prefill-is-the-real-cpu-tax
a 26-billion-parameter model decode on battery, and how long it lasts4-bit · Ollama · version not stated · 32 K context pinned · 2026-08-31, 02:38:31–03:05:02Z · power cap, batch or steps and concurrency not stated
~12 tokens/second for about two hours on battery — and sit ready to answer for seven and a half
from Two Hours at 12 tok/s § Two hours at 12 tok/s — the test that named the pagetyped in from that page by hand, then checked against it word for word · the card is named in the same section · read from two-hours-on-battery · section id #two-hours-at-12-tok-s-the-test-that-named-the-page

Power, temperature, and what it costs

5 rows — same rule as above.

valuewhat moves inside this group
a 26-billion-parameter model draw at the wall, by the UPS's own meter4-bit · Ollama · version not stated · 32 K context pinned · power cap, batch or steps and concurrency not stated
0 W shown (the box's ~5 W real draw is below the UPS meter's floor)02:38:31–02:41
the page's own words for this column: whole-box wall draw by the UPS's own meter — the reading is the mini PC's and the instrument is the battery unit
from Two Hours at 12 tok/s § Two hours at 12 tok/s — the test that named the pageread off that page’s own table by the roster’s reader, then checked against it word for word · the card is named in the same section · read from two-hours-on-battery · section id #two-hours-at-12-tok-s-the-test-that-named-the-page
60–82 W, mean 75.6 W02:41–02:56:56
the page's own words for this column: whole-box wall draw by the UPS's own meter — the reading is the mini PC's and the instrument is the battery unit
from Two Hours at 12 tok/s § Two hours at 12 tok/s — the test that named the pageread off that page’s own table by the roster’s reader, then checked against it word for word · the card is named in the same section · read from two-hours-on-battery · section id #two-hours-at-12-tok-s-the-test-that-named-the-page
74–81 W, mean 78.2 W02:56:56–03:03:00
the page's own words for this column: whole-box wall draw by the UPS's own meter — the reading is the mini PC's and the instrument is the battery unit
from Two Hours at 12 tok/s § Two hours at 12 tok/s — the test that named the pageread off that page’s own table by the roster’s reader, then checked against it word for word · the card is named in the same section · read from two-hours-on-battery · section id #two-hours-at-12-tok-s-the-test-that-named-the-page
75–76 W03:03–03:05:02
the page's own words for this column: whole-box wall draw by the UPS's own meter — the reading is the mini PC's and the instrument is the battery unit
from Two Hours at 12 tok/s § Two hours at 12 tok/s — the test that named the pageread off that page’s own table by the roster’s reader, then checked against it word for word · the card is named in the same section · read from two-hours-on-battery · section id #two-hours-at-12-tok-s-the-test-that-named-the-page
not stated memory bandwidth, best triadGB/sa STREAM triad, gcc -O3 -march=native -fopenmp · version not stated · a 2,289 MiB working set, best of 9 timed reps · 2026-08-25 (UTC), 17:57–19:46Z · quantisation, power cap, context and concurrency not stated
51.1 GB/s
from Two Hours at 12 tok/s § Read this before the table: CPU speed is a memory-bandwidth storyread off that page’s own table by the roster’s reader, then checked against it word for word · the card is named in this row · read from two-hours-on-battery · section id #read-this-before-the-table-cpu-speed-is-a-memory-bandwidth

Where it appears

Every released exhibit that names this identity, in the shelf’s own order.

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

elsewhere in the workshop

a strata→signal property · hello@strata2signal.com · say hello