llamaperf

M4 Max 128GB vs M4 Pro 64GB for local LLMs

52 reports on the M4 Max 128GB and 33 on the M4 Pro 64GB

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 M4 Pro 64GB has 12.9 generation tokens/s (4 runs); prompt processing 126.2 tokens/s (4 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 2.0x higher on the M4 Max 128GB (546 GB/s on the M4 Max 128GB, 273 on the M4 Pro 64GB). Across 6 shared models with generation measurements on both cards, the M4 Max 128GB's median is higher on 6 and the M4 Pro 64GB's on 0.

M4 Max 128GB
Memory
128GB unified
Memory bandwidth
546 GB/s
FP16 compute
18.4 TFLOPS
Reports
52
M4 Pro 64GB
Memory
64GB unified
Memory bandwidth
273 GB/s
FP16 compute
9.2 TFLOPS
Reports
33

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 128GBM4 Pro 64GB
Qwen3.8 27B4-bit21.8one runPP 236.6 (one run)llama.cppcontext not stated12.94 runsPP 126.2 (4 runs)llama.cpp, 2 not statedcontext not stated
gpt-oss 21B · 3.6B active4-bit123.1one runPP 1577.0 (one run)llama.cppcontext not stated73.63 runsPP 834.2 (3 runs)llama.cpp, 2 not statedcontext not stated
Gemma 4 26B · 4B active4-bit88.1one runPP 1408.1 (one run)llama.cppcontext not stated57.32 runsPP 774.8 (2 runs)llama.cpp, 1 not statedcontext not stated
Gemma 4 12B4-bit54.5one runPP 589.0 (one run)llama.cppcontext not stated30.02 runsPP 291.5 (2 runs)llama.cpp, 1 not statedcontext not stated
Qwen3 30B · 3B active4-bit127.7one runvllm-mlxcontext not stated85.92 runsPP 793.1 (2 runs)llama.cpp, 1 not statedcontext not stated
Qwen3.6 35B · 3B active4-bit81.1one runPP 1423.5 (one run)llama.cppcontext not stated57.52 runsPP 767.1 (2 runs)llama.cpp, 1 not statedcontext not stated

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 128GBM4 Pro 64GB
Qwen3.8 27B6.7 t/sFP167.7 t/sQ8_0
gpt-oss 21B · 3.6B active40.5 t/sFP1646.0 t/sQ8_0
Gemma 4 26B · 4B active18.2 t/sFP1620.7 t/sQ8_0
Gemma 4 12B15.2 t/sFP168.6 t/sFP16
Qwen3 30B · 3B active23.7 t/sFP1626.9 t/sQ8_0
Qwen3.6 35B · 3B active21.2 t/sFP1624.1 t/sQ8_0
Qwen3.8 125B · 6B active30.7 t/sQ5_K_S34.9 t/sQ2_K
DeepSeek V4 Flash 284B · 13B active48.3 t/sQ2_Kdoesn't fit at these settings
Qwen3.6 27B6.7 t/sFP167.7 t/sQ8_0
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
Qwen3.5 9B20.2 t/sFP1611.5 t/sFP16

Change the context, RAM or model in the calculator: M4 Max 128GB · M4 Pro 64GB

Every report on each card, with its source: M4 Max 128GB · M4 Pro 64GB

More comparisons