llamaperf

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.

M4 Max 128GB
Memory
128GB unified
Memory bandwidth
546 GB/s
FP16 compute
18.4 TFLOPS
Reports
53
NVIDIA RTX 3090
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

ModelM4 Max 128GBNVIDIA RTX 3090
Qwen3.8 27B4-bit21.8one runPP 236.6 (one run)llama.cppcontext not stated38.45 runsPP 561.0 (2 runs)llama.cpp, vLLM128K to 256K context, 1 not stated
Qwen3.8 27B3-bit23.92 runsPP 249.7 (2 runs)llama.cppcontext not stated42.3one runPP 1127.0 (one run)llama.cpp16K context
Qwen3.6 35B · 3B active4-bit81.1one runPP 1423.5 (one run)llama.cppcontext not stated101.7one runllama.cpp64K context
Qwen3.8 27B5-bit19.7one runPP 233.5 (one run)llama.cppcontext not stated35.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.

ModelM4 Max 128GBNVIDIA RTX 3090
Qwen3.8 27B6.7 t/sFP1633.9 t/sQ4_K_M
Qwen3.6 35B · 3B active21.2 t/sFP16120.1 t/sQ4_K_S
Qwen3.8 125B · 6B active30.7 t/sQ5_K_S19.4 t/sQ2_K, experts in RAM
DeepSeek V4 Flash 284B · 13B active48.3 t/sQ2_Kdoesn't fit at these settings
Qwen3.6 27B6.7 t/sFP1633.9 t/sQ4_K_M
Gemma 4 26B · 4B active18.2 t/sFP1676.4 t/sQ5_K_S
DeepSeek V4.1 Flash 552B · 16B activedoesn't fit at these settingsdoesn't fit at these settings
GLM-5.3 320B · 18B activedoesn't fit at these settingsdoesn'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

More comparisons