M4 Max 128GB vs NVIDIA RTX 3090 for local LLMs
53 reports on the M4 Max 128GB and 219 on the NVIDIA RTX 3090
Which is faster for local LLMs?
On Qwen3.8 27B at 4-bit, the M4 Max 128GB has 21.8 generation tokens/s (one run); prompt processing 236.6 tokens/s (one run); the NVIDIA RTX 3090 has 38.4 generation tokens/s (5 runs); prompt processing 561.0 tokens/s (2 runs). Those are community reports whose engines and settings differ, so the gap is a rough sign, not a controlled measure of the two cards. Memory bandwidth, which caps how fast a card can write, is 1.7x higher on the NVIDIA RTX 3090 (546 GB/s on the M4 Max 128GB, 936 on the NVIDIA RTX 3090). Across 4 shared models with generation measurements on both cards, the M4 Max 128GB's median is higher on 0 and the NVIDIA RTX 3090's on 4.
- Memory
- 128GB unified
- Memory bandwidth
- 546 GB/s
- FP16 compute
- 18.4 TFLOPS
- Reports
- 53
- Memory
- 24GB
- Memory bandwidth
- 936 GB/s
- FP16 compute
- 142 TFLOPS
- Reports
- 219
Measured on both
Generation and prompt processing speeds from plain runs (one device, one request, no speculative decoding, the whole model in the device's memory) of the same model size at the same bit class. Each side shows the engines and reported context behind its median. Context can mean a configured window or prompt depth, so these are community comparisons with differing settings. How to read these
| Model | M4 Max 128GB | NVIDIA RTX 3090 |
|---|---|---|
| Qwen3.8 27B4-bit | 21.8one runPP 236.6 (one run)llama.cppcontext not stated | 38.45 runsPP 561.0 (2 runs)llama.cpp, vLLM128K to 256K context, 1 not stated |
| Qwen3.8 27B3-bit | 23.92 runsPP 249.7 (2 runs)llama.cppcontext not stated | 42.3one runPP 1127.0 (one run)llama.cpp16K context |
| Qwen3.6 35B · 3B active4-bit | 81.1one runPP 1423.5 (one run)llama.cppcontext not stated | 101.7one runllama.cpp64K context |
| Qwen3.8 27B5-bit | 19.7one runPP 233.5 (one run)llama.cppcontext not stated | 35.0one runengine not stated64K context |
Estimated by the calculator
The quant the calculator recommends for each card and its estimated speed at a 32,768-token context with 32 GB of system RAM, from memory bandwidth and the model's shape. Where a model was also measured above, the measurement wins.
| Model | M4 Max 128GB | NVIDIA RTX 3090 |
|---|---|---|
| Qwen3.8 27B | 6.7 t/sFP16 | 33.9 t/sQ4_K_M |
| Qwen3.6 35B · 3B active | 21.2 t/sFP16 | 120.1 t/sQ4_K_S |
| Qwen3.8 125B · 6B active | 30.7 t/sQ5_K_S | 19.4 t/sQ2_K, experts in RAM |
| DeepSeek V4 Flash 284B · 13B active | 48.3 t/sQ2_K | doesn't fit at these settings |
| Qwen3.6 27B | 6.7 t/sFP16 | 33.9 t/sQ4_K_M |
| Gemma 4 26B · 4B active | 18.2 t/sFP16 | 76.4 t/sQ5_K_S |
| DeepSeek V4.1 Flash 552B · 16B active | doesn't fit at these settings | doesn't fit at these settings |
| GLM-5.3 320B · 18B active | doesn't fit at these settings | doesn't fit at these settings |
Change the context, RAM or model in the calculator: M4 Max 128GB · NVIDIA RTX 3090
Every report on each card, with its source: M4 Max 128GB · NVIDIA RTX 3090