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 slower than both at everything that does not. That single trade, raw speed against memory ceiling, is the whole decision.
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 | ~546 GB/s | ~1,790 GB/s |
| Largest model at Q4, comfortably | ~120B class | ~120B class | ~30B class |
| 70B Q4 fully resident | Yes | Yes | No, requires offload |
| Software stack | CUDA, TensorRT-LLM, vLLM | MLX, Metal, llama.cpp | CUDA, TensorRT-LLM, vLLM, llama.cpp |
| Approximate street price | ~$3,000 | ~$3,499 | ~$2,500 plus host system |
Memory bandwidth is the number that predicts decode speed, and the RTX 5090 has roughly 6.5x the DGX Spark and 3.3x the M5 Max. Memory capacity is the number that predicts whether a model runs at all, and there the ordering reverses.
Decode Throughput, Q4 Quantisation, Single Stream
| Model | DGX Spark | M5 Max 128GB | RTX 5090 32GB |
|---|---|---|---|
| 8B class | 110-125 tps | 95-110 tps | 142-178 tps |
| 30B class | 50-62 tps | 40-50 tps | 55-75 tps |
| 70B Q4 | 35-45 tps | 25-32 tps | Offload required, single-digit to ~15 tps |
| 120B class | 20-28 tps | 14-19 tps | Not practical |
The RTX 5090 wins decisively up to about 30B and falls off a cliff at 70B, where the model no longer fits in 32GB and layers spill to system RAM across PCIe. Once that happens the 5090 is slower than a Mac Studio that holds the whole model in unified memory, and the gap is not close.
Prefill, Where the Gap Is Widest
Prefill, also called prompt processing, is compute-bound rather than bandwidth-bound, and it is what determines how long you wait before the first token appears on a long prompt. The RTX 5090 processes an 8B-class model at roughly 7,200 tokens per second of prompt against the DGX Spark's ~1,200 and the M5 Max's ~400.
For agentic workloads that re-send a large context on every turn, this dominates the felt experience far more than decode speed does. A 40,000-token context costs about 6 seconds of prefill on the 5090, 33 seconds on the Spark, and roughly 100 seconds on the M5 Max. See time-to-first-token benchmarks for the full breakdown.
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 70B-plus resident, you fine-tune, or your research code is CUDA-only. The Spark is the only one of the three that does all three well.
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 is the slowest of the three on raw throughput and the only one you would also happily 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.