Measured answers

Local LLM questions, answered with measurements

The questions people actually ask, phrased the way they ask them. One-sentence answers here; every number, scope and raw run lives one click away. Questions we have not measured say so.

How fast does it feel?

How many tokens per second is enough for a local LLM?

"Enough" splits into three measured experiences: the wait before the first useful word, the flow after it, and whether an answer arrives at all — one round number cannot carry them.

The evidence →

Why is my thinking model silent for so long before answering?

The reasoning stream starts instantly but is not addressed to you; the first visible word waits for it to finish. Measure to the first answer token, or the dashboard will call the silence fast.

The evidence →

Why is starting with a long document so much slower?

The model reads the whole document before saying anything, and that prefill bill scales with length — measured at two depths on the same box with everything else frozen.

The evidence →

Why is the second question over the same document instant?

The prompt cache: a byte-identical prefix pays the prefill once. Anything that rewrites the prefix — reshuffled RAG chunks, a timestamped system prompt — silently makes every question pay it again.

The evidence →

What fits, and what does it buy?

What models can I run with 128 GB of unified memory?

The 35B-MoE class runs with a sub-second first word and room to spare; the frontier 284B class does not fit in one box — that took a pair. Measured, not spec-sheet arithmetic.

The evidence →

Q4 vs Q8 — is the quality difference actually noticeable?

Not to our gates, on this model and these workloads — while the decode-pace cost of Q8_0 is real and permanent. The uncomfortable finding: the default "run the biggest quant" advice spent speed on nothing detectable.

The evidence →

Vulkan or ROCm on Strix Halo — which is faster for llama.cpp?

Vulkan decoded faster in our configuration, with correctness identical on every gate — picking the wrong backend cost about as much as doubling the weight precision.

The evidence →

Do local LLMs invent answers when the document doesn’t contain them?

We measure it with unanswerable control questions: one model family declined every impossible question, the other sometimes failed by silence — not by fabrication. Both behaviors are invisible unless you test for them.

The evidence →

Sharing the box, running it all day

How many concurrent users can one local LLM box handle?

The measured ladder at one, four and eight simultaneous chats shows the wait growing nonlinearly while completion holds — size from the wait your users tolerate, not from a marketing seat count.

The evidence →

Does a mini PC throttle running LLMs all day?

Three continuous hours under closed-loop load on two identical units: the pace of minute one was the pace of hour three. The predicted burst-then-fade never arrived.

The evidence →

When it fails silently

Why does my client show an empty answer with HTTP 200?

A reasoning model can spend its whole token budget thinking and emit nothing addressed to you — transport reports success, the user gets a blank. We measured how often, per model and budget.

The evidence →

Should I turn thinking mode off?

For chat and structured automation on our box: yes — thinking cost one to two orders of magnitude of waiting and bought nothing the gates could detect. For genuinely hard reasoning, our workloads are not your evidence.

The evidence →

Can a local LLM reliably return strict JSON?

Reliability turned out to be a property of the model, not the settings: quant, backend and reasoning mode did not move task success — switching the model family did.

The evidence →

Which model goes silent under a tight token budget?

Head to head under the same budget and corpus: the model that reasons longer runs out of room before saying anything far more often — and both failures arrive as HTTP 200.

The evidence →

Which box?

What hardware should I buy for a local AI homelab?

Pick the workload first: solo assistant, small team, document-heavy work and the frontier model class are four different purchases. We answer from what our own boxes measurably did — and name the lanes we never measured instead of filling them with arithmetic.

The evidence →

Why does ROCm see only a few GB on my 128 GB Strix Halo box?

On Linux the models live in GTT, not in the BIOS-dedicated slice, and the ceiling is a TTM kernel parameter rather than a firmware menu. Our serving node keeps the dedicated slice tiny and still holds a hundred gigabytes of weights.

The evidence →

Strix Halo or DGX Spark for local AI?

Different tools the market cross-shops: a measured workhorse for the model class most people run, versus the only desk-format path we measured to the largest open MoE class — as a pair, with seams.

The evidence →

Is the DGX Spark worth it for local LLM work?

It served a 284B MoE at home and walked a context curve to a million tokens; it is also real operational work with half-working stock monitoring. The measured buyer answer names who should and should not buy.

The evidence →

nvidia-smi is broken on the DGX Spark — how do I monitor it?

dcgm-exporter does not work on GB10 and NVML answers N/A on much of what you alert on; the reliable path is parsing nvidia-smi text through a textfile collector, with a staleness alert on the collector itself.

The evidence →

Numbers you can argue with

How do I benchmark a local LLM so people believe my numbers?

Ask the running server what it runs, pin everything byte-level, freeze the workload, count the right tokens, keep failures in the denominator, repeat, and publish the config next to the number.

The evidence →

Why don’t my numbers match the reviews I read?

Because a published number is a config in disguise: unstated workload profiles, defaults that moved between versions, firmware nobody named. Most disagreements dissolve once each figure is pinned to its configuration.

The evidence →

Asked often, not measured yet

How fast is gpt-oss-120b on Strix Halo? not measured yet

Not measured by us yet. Community figures diverge widely with no pinned digests; the qualification run is planned. Until then this page will not quote anyone’s number.

The evidence →

What about Apple Silicon — M-series against these boxes? not measured yet

A declared lane on our testbed with zero published runs — so zero claims. When the MLX-versus-llama.cpp cell lands, it will land with raw runs.

The evidence →

What happens on 8–24 GB of VRAM when the model doesn’t fit? not measured yet

The most asked and least measured question below this hardware class. The offload study is a declared lane; nothing is published, so nothing is claimed.

The evidence →