Local AI Computers in 2026: Real LLM Benchmarks, Not NPU TOPS

Compact computers can now run surprisingly large language models locally. But fitting a model into memory is not the same as running it quickly, and advertised NPU TOPS are a particularly poor substitute for measured LLM throughput.

This comparison focuses on single-user local inference and coding agents, not training, synthetic TOPS, or multi-user datacenter throughput. The figures below are published third-party measurements, not tests I performed. Because hardware, models, quantization, context, backends, and configurations differ, a row from one test is not necessarily directly comparable with a row from another.

Hardware at a glance

The price column is deliberately relative, not a quotation: $ is the least expensive class; $$$$$ is the most expensive. It reflects broad complete-system purchase tiers, not exact live prices in a particular country. Memory figures describe installed or possible system memory, not necessarily memory that an inference backend can allocate to the GPU.

System Accelerator Memory configuration Relative price Benchmark evidence
RTX 5060 Ti 16 GB desktop NVIDIA Blackwell 16 GB dedicated VRAM $$ Published community results
Sapphire EDGE AI 370 Ryzen AI 9 HX 370 / Radeon 890M Up to 96 GB DDR5 system RAM $$ Same-chip HX 370 proxy only
Minisforum AI X1 / X1 Pro Ryzen AI 9 HX 370 / Radeon 890M Up to 96 GB class, SKU-dependent $$ Same-chip HX 370 proxy only
GEEKOM A9 Max Ryzen AI 9 HX 370 / Radeon 890M Configuration-dependent $$ Same-chip HX 370 proxy only
Beelink SER9 Ryzen AI 9 HX 370 / Radeon 890M Often soldered, SKU-dependent $$ Same-chip HX 370 proxy only
Mac mini M4 Apple M4 GPU / Metal 16–32 GB unified, SKU-dependent $$ Direct Mac mini M4 results
Mac Studio M5 Max Apple M5 Max GPU / Metal 48 GB+ unified, SKU-dependent $$$$ Direct Mac Studio M5 Max results
Framework Desktop Ryzen AI Max / Radeon 8050S or 8060S 64–128 GB unified, SKU-dependent $$$$ Strix Halo family proxy
Minisforum MS-S1 Max Ryzen AI Max+ 395 / Radeon 8060S 128 GB unified configuration $$$$ Strix Halo family proxy
GMKtec EVO-X2 Ryzen AI Max+ 395 / Radeon 8060S 128 GB unified $$$$ Direct EVO-X2 tests
Beelink GTR9 Pro Ryzen AI Max+ 395 / Radeon 8060S 128 GB unified $$$$ Direct GTR9 Pro tests
BOSGAME M5 Ryzen AI Max+ 395 / Radeon 8060S 128 GB unified configuration $$$$ Strix Halo family proxy
HP Z2 Mini G1a Ryzen AI Max PRO family Up to 128 GB, configuration-dependent $$$$$ No matched public result used here
MSI PRO MAX EDGE AI+ Ryzen AI Max+ 395 / Radeon 8060S 128 GB unified $$$$$ No reproducible tok/s used here
NVIDIA DGX Spark NVIDIA GB10 / Blackwell 128 GB unified $$$$$ Direct DGX Spark results
RTX 5090 desktop NVIDIA Blackwell 32 GB dedicated VRAM $$$$$ Direct RTX 5090 results
iBUYPOWER Pro AI Halo (announced) Ryzen AI Max+ PRO 495 family 128 GB class, SKU-dependent $$$$$ No verified public tok/s used here

Caution: Price symbols are coarse editorial categories. The actual cost of an HX 370 barebone changes substantially after adding 64–96 GB RAM and storage. Machines sharing a chip are grouped for architectural comparison, not credited with identical measured results.

Published generation benchmarks

tg128 generally means generation of 128 output tokens in llama-bench; pp512 is the speed of processing a 512-token prompt. Both are in tokens per second. Some sources used server-based decoding rather than tg128, as explicitly marked.

Tested hardware Model and quantization Generation (tok/s) Prompt processing (tok/s) Backend / qualification Source
Ryzen AI 9 HX 370 / Radeon 890M (not necessarily Sapphire) Qwen3.6-35B-A3B Q3_K_S 28.4 313.9 LM Studio tuned Vulkan; 2,154-token prompt HX 370 measured comparison
Ryzen AI 9 HX 370 / Radeon 890M (not necessarily Sapphire) Qwen3.6-35B-A3B Q3_K_S 31.4 299.1 llama.cpp HIP; same tester HX 370 measured comparison
Mac mini M4 (single 16 GB machine) Qwen3 8B Q4_K_M 21.2 227.8 (pp512) llama.cpp Metal, tg128 Mac mini reproducible test
Mac mini M4 (single 16 GB machine) Qwen3 14B Q4_K_M 11.9 120.7 (pp512) llama.cpp Metal, tg128 Mac mini reproducible test
Mac Studio M5 Max (48 GB tested) Qwen3 8B Q4_K_M 97.7 2,745 (pp512) llama.cpp Metal, tg128 M5 Max measured benchmark
Mac Studio M5 Max (48 GB tested) Qwen3 32B Q4_K_M 26.4 667 (pp512) llama.cpp Metal, tg128 M5 Max measured benchmark
Mac Studio M5 Max (48 GB tested) Qwen3 30B-A3B Q4_K_M 148.5 3,497 (pp512) llama.cpp Metal, tg128 M5 Max measured benchmark
Strix Halo Max+ 395, EVO-X2 / GTR9 Pro test fleet Qwen3 30B-A3B Q4_K_M 86.1 1,142 (pp512) Vulkan RADV; best published run Strix Halo benchmarks
Strix Halo Max+ 395, EVO-X2 / GTR9 Pro test fleet Qwen3-Coder-Next 80B-A3B Q4_K_M 42.7 531 (pp512) Vulkan RADV, tg128 Strix Halo benchmarks
Strix Halo Max+ 395, EVO-X2 / GTR9 Pro test fleet Llama 3.1 70B Q4_K_M 5.1 81.6 (pp512) Vulkan RADV, tg128 Strix Halo benchmarks
Strix Halo Max+ 395, EVO-X2 / GTR9 Pro test fleet GPT-OSS 120B Q4_K_M 53.4 N/A llama-server, not tg128 Strix Halo project
DGX Spark (GB10) Qwen3 8B (test quantization: see source) 43.7 3,167 (pp512) llama.cpp, batch-one decode at 512 context DGX Spark report
DGX Spark (GB10) Qwen3 30B MoE (test quantization: see source) 89.3 2,541 (pp512) llama.cpp, batch-one decode at 512 context DGX Spark report
DGX Spark (GB10) Qwen3 32B Dense (test quantization: see source) 10.7 762 (pp512) llama.cpp, batch-one decode at 512 context DGX Spark report
RTX 5060 Ti 16 GB Qwen3 8B Q4_K_XL 51.41 N/A Community benchmark compilation; verify original run GPU benchmark dataset
RTX 5090 32 GB Qwen3 30B-A3B Q4_K_M 365.73 ± 2.06 N/A llama.cpp CUDA, tg128, same-card engine comparison RTX 5090 test

N/A means no sufficiently documented measurement was selected, not that the machine cannot run the model. No numerical benchmark is assigned to an untested commercial chassis merely because it has the same SoC. The DGX Spark source should be consulted for the exact model files and quantizations before making a strict same-model comparison.

The one model that appears across most of these sources is Qwen3 30B-A3B, so it is the closest thing to a common yardstick:

Qwen3 30B-A3B Q4_K_M generation and prompt-processing speed on RTX 5090, Mac Studio M5 Max, DGX Spark and Strix Halo

What these measurements actually tell us

1. MoE versus dense is the decisive split

On the same Strix Halo test systems, Qwen3 30B-A3B runs at 86.1 tok/s, while Llama 3.1 70B dense runs at 5.1 tok/s. A 120B MoE can also be faster than a much smaller dense model. Total parameter count alone is a misleading performance metric: active experts, memory traffic, quantization and implementation matter.

The same pattern holds on every machine with both kinds of result:

Generation speed of Qwen3 30B-A3B MoE versus dense 32B and 70B models on Mac Studio M5 Max, DGX Spark and Strix Halo

2. The large-memory Strix Point boxes are capable, but not equivalent to Strix Halo

Sapphire EDGE AI 370, Minisforum AI X1 and GEEKOM A9 Max use Radeon 890M-class graphics, whereas Strix Halo machines use the much larger Radeon 8060S and higher-bandwidth memory. An HX 370 test measured 28–31 tok/s on a 35B-class quantized MoE, but this result came from a different HX 370 device with LPDDR5X; a Sapphire system with DDR5 SO-DIMMs may behave differently. It would be misleading to call this a measured Sapphire result.

3. The RTX 5090 is extremely fast when the model fits

The measured 365.73 tok/s for Qwen3 30B-A3B Q4_K_M on an RTX 5090 is impressive. But the card’s 32 GB VRAM constrains model choice, context length and concurrency. A slower 128 GB unified-memory box can therefore be more useful for a substantially larger model, even though it loses a same-model speed contest.

4. Apple Silicon deserves a separate look

A published M5 Max llama.cpp test reaches 148.5 tok/s on Qwen3 30B-A3B Q4_K_M, with the measured 48 GB machine also reaching 26.4 tok/s on Qwen3 32B dense. That is a strong result for a compact single-user machine. Do not automatically transfer these numbers to M4 or to every M5 Max memory/GPU configuration.

5. Coding agents care about prefill, latency and context, not just short decoding

A particularly useful long-context study on Beelink GTR9 Pro shows Qwen3 30B-class MoE decoding changing from 88.4 tok/s on an 11-token prompt to 30.1 tok/s on a 48K-token prompt. Processing that 48K-token input took approximately 189 seconds in that particular setup. An attractive tg128 result can hide very poor agent-loop latency once a repository, tool schemas and conversation history are included.

Prompt size Measured decode (tok/s) Reported prefill time
11 tokens 88.4 0.09 s
12K tokens 58.6 13.0 s
24K tokens 44.5 43.8 s
48K tokens 30.1 189.0 s

Decode speed and prefill time versus prompt size on a Strix Halo Beelink GTR9 Pro

Source: Strix Halo, measured. This is a particular backend/server/model configuration, not a universal prediction for every Strix Halo deployment.

How I would benchmark a coding-agent machine

Before choosing hardware, I would run at least two models: one small dense model that fits in GPU memory and one large MoE suited to code and tool use. Record:

  1. pp512, pp4096 and pp16384 — prompt-processing throughput.
  2. tg128 at short context — baseline single-request decoding speed.
  3. End-to-end latency at 32K and 64K context — time to first token, decoded tok/s and total response time.
  4. Peak allocated GPU/system memory — including KV cache, not just the model file.
  5. Power consumption and sustained behavior — short peaks can obscure thermal throttling.

For a reproducible baseline with llama.cpp:

llama-bench -m /models/model.gguf -ngl 99 -p 512 -n 128 -r 3

The command is only a starting point. Document the model hash, quantization, llama.cpp commit, backend, GPU offload settings, flash attention, context, power limit and operating system. For an actual agent, measure the HTTP server and real prompt sizes too.

Bottom line

  • Budget CUDA box: RTX 5060 Ti 16 GB. Suitable for smaller models that fit in VRAM; evaluate VRAM before headline throughput.
  • Affordable high-memory experimentation: Sapphire EDGE AI 370 and other HX 370 mini-PCs. They are genuine local-inference machines, but performance claims need same-device validation.
  • Large local MoE models: 128 GB Ryzen AI Max+ 395 machines such as EVO-X2 and GTR9 Pro, with published results for 80B and 120B-class MoE workloads.
  • Compact high-throughput Apple option: Mac Studio M5 Max, with unusually strong published single-user results on supported model sizes.
  • NVIDIA software stack with 128 GB unified memory: DGX Spark, whose primary value is not necessarily the best short-prompt decode speed per price tier.
  • Maximum speed for models fitting in 32 GB VRAM: RTX 5090; dramatically stronger throughput in the cited Qwen3 MoE test, but a different memory-capacity tradeoff.

The single most important purchasing question is not “How many billions of parameters can this box load?” but “How long will my actual agent take to process 32–64K of context and complete a tool-use cycle?”

Sources and reproducibility

Last reviewed: October 16, 2026. Hardware models and software backends evolve quickly; reported results are snapshots, not manufacturer guarantees.