The two-way DGX Spark versus Mac Studio comparison misses the machine most people actually buy. A GeForce RTX 5090 is faster than either at everything that fits in its 32GB of GDDR7, and it cannot hold larger models on one card at all. That trade, raw speed against memory ceiling, is most of the decision. This page was revised on October 2, 2026 to replace earlier estimated ranges with published measurements.
The Three Machines
| Spec | NVIDIA DGX Spark | Mac Studio M5 Max 128GB | GeForce RTX 5090 |
|---|---|---|---|
| Memory available to the model | 128GB unified LPDDR5X | 128GB unified LPDDR5X | 32GB GDDR7 |
| Memory bandwidth | ~273 GB/s | 460 GB/s, or 614 GB/s with the 40-core GPU | ~1,790 GB/s |
| Largest model at Q4, comfortably | ~120B class | ~120B class | ~30B class |
| 70B Q4 (about 43GB) fully resident | Yes | Yes | No on one card |
| Software stack | CUDA, TensorRT-LLM, vLLM | MLX, Metal, llama.cpp | CUDA, TensorRT-LLM, vLLM, llama.cpp |
| Price | $4,699 since February 2026 | $4,799 to $5,400 reported | $1,999 list, about $4,300 and up in shops in September 2026, plus host system |
Memory bandwidth is the number that predicts decode speed, and the RTX 5090 has roughly 6.5x the DGX Spark and about 3x to 4x the M5 Max. Memory capacity is the number that predicts whether a model runs at all, and there the ordering reverses.
Measured Generation Speed
Each cell is one published measurement in tokens per second. Rows use different backends and quantisations, so compare within a row.
| Model and test | DGX Spark | M5 Max | RTX 5090 32GB |
|---|---|---|---|
| Llama 2 7B Q4_0, llama.cpp scoreboard | not listed | 119.9 | 290 to 300 |
| Llama 3.1 8B Q4_K_M, Ollama | 38.0 | not published | 150.0 |
| gpt-oss 20B, Ollama (LMSYS) | 49.7 | not published | 205 |
| Gemma 3 27B Q4, Ollama | 10.8 | not published | 47.3 |
| 32B class, Ollama | 9.4 (Qwen3 32B) | not published | 57.2 (QwQ 32B) |
| Llama 3.1 70B, Ollama | 4.4 | not published | Does not fit on one card. Two cards: about 27 |
| gpt-oss 120B, llama.cpp | 60.6, or 40.6 at 32K context | not published | Does not fit |
The RTX 5090 wins by a wide margin on everything that fits in 32GB. DGX Spark holds much larger models but generates slowly on dense ones: 4.4 tokens per second on Llama 3.1 70B. It is fast on sparse mixture-of-experts models, where gpt-oss 120B reaches 60.6. Published M5 Max measurements are thin. Its bandwidth, roughly twice the Spark's, is why it is expected to lead the Spark on dense models, and one secondary source reports 65 to 69 tokens per second on Qwen3.8-27B with MLX. Sources: the llama.cpp scoreboards, Ollama's DGX Spark results, LMSYS, and Database Mart's RTX 5090 runs. Device pages: RTX 5090 and Mac Studio M5 Ultra.
Prefill, Where NVIDIA Leads
Prefill, also called prompt processing, is compute-bound, and it sets how long you wait for the first token on a long prompt. On small models the published rates are about 14,000 to 15,000 tokens per second for the RTX 5090 and 3,220 for the M5 Max, both on Llama 2 7B in llama.cpp, and 7,614 for DGX Spark on Llama 3.1 8B in Ollama.
For agentic workloads that re-send a large context on every turn, this shapes the felt experience more than decode speed does. At those rates a 40,000-token context costs about 3 seconds of prefill on the 5090, about 5 seconds on the Spark, and about 12 seconds on the M5 Max. Larger models are slower on all three. See time-to-first-token benchmarks.
How To Choose
RTX 5090 if your working set is 30B and under, you want the fastest possible iteration, and you already have or will build a PC around it. This covers most coding-agent work in 2026, because the strong sparse coding models activate few enough parameters to run well here.
DGX Spark if you need large sparse models such as gpt-oss 120B resident, you fine-tune, or your research code is CUDA-only. Expect single-digit tokens per second on dense 70B models.
Mac Studio M5 Max if the machine doubles as your daily driver, you value silence and idle power, or you develop for Apple platforms. It trails the 5090 on small models, has about twice the Spark's memory bandwidth for large dense ones, and is the only one you would also use as a desktop.
Note that total parameters determine whether a model fits and active parameters determine how fast it runs. That distinction decides more of this comparison than any spec above. See active versus total parameters.
Brand Visibility Implications
Every configuration above runs frontier-adjacent open-weight models with no API call anyone can observe. As the entry price for credible local inference falls toward the cost of a gaming GPU, a growing share of the questions people ask about brands is answered from weights on a desk rather than from a monitored endpoint. Parametric recall, what the model absorbed at training time, becomes the only lever, and it cannot be changed after the fact. See the local-LLM visibility blind spot.
Methodology
Vendor specifications come from NVIDIA, Apple, and model-card publications. Throughput figures aggregate community benchmark reporting from the llama.cpp discussions, the MLX repository, and published independent test suites. Single-stream decode unless stated otherwise. Ranges rather than point values are used wherever independent runs disagree, which is most of the time: quantisation format, prompt length, thermal state, and runtime version each move these numbers by more than the differences being measured. Treat every figure as an order-of-magnitude guide, not a specification. Updated quarterly.
How Presenc AI Helps
Presenc AI instruments brand visibility on locally served open-weight models as well as cloud APIs, so teams whose buyers run local-first inference can see mention rates and recommendation drift that endpoint monitoring never reaches.