Apple Mac mini (M5 Pro, 20-core GPU) vs Framework Desktop (Ryzen AI Max+ 395)
The Framework Desktop (Ryzen AI Max+ 395) gives a model 96 GB to work in, against 48 GB on the Apple Mac mini (M5 Pro, 20-core GPU) (also assumed). The Apple Mac mini (M5 Pro, 20-core GPU) has 1.2× the memory bandwidth (307 against 256 GB/s), which sets the ceiling on generation speed. The largest 4-bit model each holds at 8,192 tokens of context: Qwen3 Coder Next on the Apple Mac mini (M5 Pro, 20-core GPU), Nemotron 3 Super 120B-A12B on the Framework Desktop (Ryzen AI Max+ 395). The cheapest Framework Desktop (Ryzen AI Max+ 395) lists for about $60 more than the cheapest Apple Mac mini (M5 Pro, 20-core GPU). Rows where the two differ are tinted.
Apple unified memory
Apple Mac mini (M5 Pro, 20-core GPU)
The M5 Pro Mac mini with the larger GPU, configurable to 64GB. At 64GB it runs 30B-class models at 4-bit with room left for long context.
gpt-oss-20b, 4-bit: 80 tok/s
AMD unified memory
Framework Desktop (Ryzen AI Max+ 395)
A 4.5-liter desktop built around the full Strix Halo chip, sold as a DIY Edition you finish with your own SSD and OS. The 128GB version lets the GPU use 96GB, enough for a 70B dense model or a 100B-class MoE model at 4-bit.
gpt-oss-20b, 4-bit: 73 tok/s
| Specification | Apple Mac mini (M5 Pro, 20-core GPU) | Framework Desktop (Ryzen AI Max+ 395) |
|---|---|---|
| Kind | Apple unified memory · Apple | AMD unified memory · Framework |
| Chip or GPUs | M5 Pro (18-core CPU, 20-core GPU) | Ryzen AI Max+ 395 |
| Memory | 24 GB, 48 GB, 64 GB | 64 GB, 128 GB |
| Memory for models | 48 GB (Default GPU limit)assumption | 96 GB (GPU-usable memory) |
| Other memory figure | 56 GB (Limit raised with sysctl)assumption | none |
| Memory bandwidth | 307 GB/s | 256 GB/s |
| Price | ~$1,899–$2,899 | ~$1,959–$3,449 |
| Largest at 4-bit, 8k context | Qwen3 Coder Next | Nemotron 3 Super 120B-A12B |
| Software | Metal, MLX | ROCm, Vulkan, DirectML |
| Power | 155 W | 400 W |
What each one runs
Every model in the catalog that at least one of the two holds at 4-bit with 8,192 tokens of context. Copper speeds are measured medians; outlined ones are estimates. Rows where only one fits, or where the speed differs by more than a quarter, are tinted.
| Model | Apple Mac mini (M5 Pro, 20-core GPU) | Framework Desktop (Ryzen AI Max+ 395) |
|---|---|---|
| Nemotron 3 Super 120B-A12B120B, 12B active · 81.0 GB file | does not fit | 15 tok/smedian of 2 runs |
| Qwen3.5 122B-A10B122B, 10B active · 71.3 GB file | does not fit | 20 tok/smedian of 2 runs |
| Mistral Medium 3.5 128B128B · 69.8 GB file | does not fit | ~2.3–2.8 tok/sestimate |
| GLM-4.5-Air106B, 12B active · 68.0 GB file | does not fit | ~15–19 tok/sestimate |
| Mistral Small 4 119B (2603)119B, 6.5B active · 67.6 GB file | does not fit | ~30–39 tok/sestimate |
| Llama 4 Scout 17B-16E Instruct109B, 17B active · 60.9 GB file | does not fit | 18 tok/smedian of 2 runs |
| gpt-oss-120b117B, 5.1B active · 58.5 GB file | does not fit | 52 tok/smedian of 5 runs |
| Qwen3 Coder Next80B, 3B active · 45.2 GB file | 74 tok/smedian of 2 runs | ~66–85 tok/sestimate |
| Llama 3.3 70B Instruct70B · 39.6 GB file | 6.9 tok/smedian of 3 runs | 4.8 tok/smedian of 4 runs |
| Nemotron 3.5 Lightning 30B-A3B30B, 3B active · 23.7 GB file | 106 tok/smedian of 2 runs | ~47–60 tok/sestimate |
| Qwen3.6 35B-A3B35B, 3B active · 20.8 GB file | ~53–95 tok/sestimate | 60 tok/smedian of 7 runs |
| Ornith 1.5 35B-A3B35B, 3B active · 20.2 GB file | ~55–98 tok/sestimate | ~65–83 tok/sestimate |
| Qwen3 Coder 30B-A3B Instruct30.5B, 3.3B active · 17.3 GB file | 95 tok/smedian of 1 run | ~60–77 tok/sestimate |
| Gemma 4 31B IT30.7B · 17.1 GB file | 13 tok/smedian of 3 runs | 11 tok/smedian of 2 runs |
| Granite 4.2 30B29.3B · 16.8 GB file | ~13–16 tok/sestimate | ~9.6–12 tok/sestimate |
| Qwen3.8 27B27B · 16.2 GB file | 14 tok/smedian of 1 run | 12 tok/smedian of 2 runs |
| Gemma 4 26B-A4B IT25.2B, 3.8B active · 15.9 GB file | 71 tok/smedian of 2 runs | 52 tok/smedian of 2 runs |
| Qwen3.6 27B27B · 15.7 GB file | 13 tok/smedian of 3 runs | ~10–12 tok/sestimate |
| Devstral Small 2 24B (2512)24B · 13.3 GB file | ~16–20 tok/sestimate | ~12–15 tok/sestimate |
| gpt-oss-20b21B, 3.6B active · 10.8 GB file | 80 tok/smedian of 3 runs | 73 tok/smedian of 3 runs |
| Phi-414.7B · 8.3 GB file | ~25–32 tok/sestimate | ~20–23 tok/sestimate |
| Ministral 3 14B Reasoning (2512)13.9B · 7.7 GB file | ~27–34 tok/sestimate | ~21–25 tok/sestimate |
| Gemma 4 12B IT11.95B · 6.6 GB file | ~32–39 tok/sestimate | ~24–29 tok/sestimate |
| Qwen3.5 9B9B · 5.3 GB file | 56 tok/smedian of 1 run | ~31–37 tok/sestimate |
| Granite 4.2 8B8.8B · 5.2 GB file | ~41–51 tok/sestimate | ~31–38 tok/sestimate |
| Gemma 4 E4B IT8B · 5.0 GB file | ~74–92 tok/sestimate | ~57–68 tok/sestimate |
| Qwen3 8B8.2B · 4.7 GB file | ~45–56 tok/sestimate | ~35–41 tok/sestimate |
| Llama 3.1 8B Instruct8B · 4.6 GB file | 45 tok/smedian of 1 run | 40 tok/smedian of 2 runs |
| Qwen3.5 4B4B · 2.6 GB file | ~82–102 tok/sestimate | ~63–76 tok/sestimate |
Full pages: Apple Mac mini (M5 Pro, 20-core GPU) · Framework Desktop (Ryzen AI Max+ 395) · check a different quant or context length