llamaperf

M5 Max 48GB

APPLE · 48GB unified memory · 67 reports

On the M5 Max 48GB, Gemma 3 12B at 4-bit, the model most run on it, generates a median of 64.2 tokens per second from 2 plain runs (community reports, as of 31 Oct 2026).

As of 31 Oct 2026, the models most run on the M5 Max 48GB, with generation and prompt-processing medians from plain runs (one device, one request, no speculative decoding):

  • Gemma 3 12B
    64.2gen t/s at 4-bit · 2 runs
    PP 1778.2 t/s · 2 runs
  • Gemma 3 4B
    163.4gen t/s at 4-bit · 2 runs
    PP 5655.5 t/s · 2 runs
  • Qwen 2.5 Coder 14B
    58.4gen t/s at 4-bit · 2 runs
    PP 1632.7 t/s · 2 runs

Engines people use on it: llama.cpp 38 (reports) · MLX 27 (reports) · oMLX 1 (reports)

Run models on your M5 Max 48GB? Add your numbers.

Your coding agent can run a speed test on your machine and send it here with a free account. Or paste a result you've already posted.

Reported performance on the M5 Max 48GB

These reports mix GPU counts and memory setups, so a model listed here may have needed extra cards or CPU offloading. The calculator estimates which models fit in 48 GB of unified memory.

Showing 20 of 67 reports. See all of them →

Qwen3.8 27B

M5 Max 48GB · oMLX · 4,096 ctx

Apple hardware
generation:
93.8 tokens/s
prompt processing (prefill):
1207.0 tokens/s
quant:
4-bit

Reported by the source; GPU count, offloading and concurrent requests can change these figures. Prompt-processing speed is input throughput, not time to first token. Check the full setup before comparing.

coding

User benchmarks oMLX 0.7.2 serving Inco AI's Splash package for Qwen3.8-27B (4-bit target plus DFlash 2 draft) on a MacBook Pro M5 Max with 48 GB, using a Python code context and 128 generated tokens per test. At a 4096-token prompt the single request reaches 93.8 t/s decode and 1207.0 t/s prefill; longer prompts give 189.4 t/s decode at 16382 tokens and 110.2 t/s at 65536 tokens. Batched continuous batching reaches 413.7 t/s aggregate at 2x and 407.0 t/s at 4x, with peak memory between 19.1 GB and 22.2 GB.

Oct 25, 2026
Tone: mixedApple hardware
generation:
10-15 tokens/s
quant:
4-bit

Reported by the source; GPU count, offloading and concurrent requests can change these figures. Prompt-processing speed is shown only when the source reports it; generation speed cannot tell us time to first token. Check the full setup before comparing.

codingagentic

User reports running Qwen3.8 27B (4-bit, ~16GB) in LM Studio on a MacBook Pro M5 Max with 48GB unified memory, at around 10-15 tokens/sec. Setup is LM Studio serving an OpenAI-compatible API to the Pi Coding Agent, which built a React + TypeScript dashboard from scratch over a few hours. The user says local coding agents are capable but not a drop-in replacement for Claude Code or Codex with frontier models, citing slower inference and reliability concerns.

Oct 14, 2026

QwQ Qwen 32B Q4_K_M; llama-bench TG128 / PP512

M5 Max 48GB · llama.cpp

Apple hardware
generation:
26.3 tokens/s
prompt processing (prefill):
685.4 tokens/s
quant:
Q4_K_M (GGUF)
flash attention:
on

Reported by the source; GPU count, offloading and concurrent requests can change these figures. Prompt-processing speed is input throughput, not time to first token. Check the full setup before comparing.

User reports QwQ-32B at 26.3 t/s generation and 685.4 t/s prompt processing on an M5 Max with 48GB unified memory. Setup is llama.cpp build 11146 with Metal, GGUF Q4_K_M weights, flash attention enabled, and n_gpu_layers=99. The figures are separate llama-bench microtests, tg128 and pp512, not one 512-input/128-output request; context length is unspecified.

Oct 13, 2026
Apple hardware
generation:
124.3 tokens/s
prompt processing (prefill):
3342.7 tokens/s
quant:
Q4_K_M (GGUF)
flash attention:
on

Reported by the source; GPU count, offloading and concurrent requests can change these figures. Prompt-processing speed is input throughput, not time to first token. Check the full setup before comparing.

User reports Qwen3.6 35B-A3B at 124.3 t/s generation and 3342.7 t/s prompt processing on a single Apple M5 Max with 48 GB unified memory. Setup is llama.cpp build 11146 with Metal, GGUF Q4_K_M weights, n_gpu_layers=99 and flash attention enabled. The figures are separate llama-bench microtests, tg128 and pp512, not one 512-input/128-output request or server concurrency throughput; context length is unspecified.

Oct 13, 2026
Apple hardware
generation:
86.5 tokens/s
prompt processing (prefill):
2369.3 tokens/s
quant:
Q4_K_M (GGUF)
flash attention:
on

Reported by the source; GPU count, offloading and concurrent requests can change these figures. Prompt-processing speed is input throughput, not time to first token. Check the full setup before comparing.

User reports Qwen3.5 9B at 86.5 t/s generation and 2369.3 t/s prompt processing on an M5 Max with 48GB unified memory. Setup is llama.cpp build 11146 with Metal, Q4_K_M weights, n_gpu_layers=99 and flash attention enabled. The figures are separate llama-bench microtests, tg128 and pp512, not one 512-input/128-output request or server concurrency throughput; context length is unspecified.

Oct 13, 2026
Apple hardware
generation:
135.6 tokens/s
prompt processing (prefill):
4099.7 tokens/s
quant:
Q4_K_M (GGUF)
flash attention:
on

Reported by the source; GPU count, offloading and concurrent requests can change these figures. Prompt-processing speed is input throughput, not time to first token. Check the full setup before comparing.

User reports Qwen3.5 4B at 135.6 t/s generation and 4099.7 t/s prompt processing on an M5 Max 48GB. Setup is llama.cpp build 11146 with Metal, Q4_K_M weights, n_gpu_layers=99 and flash_attention=true. The figures are separate llama-bench microtests, tg128 and pp512, not one 512-input/128-output request or server concurrency throughput; context length is unspecified.

Oct 13, 2026
Apple hardware
generation:
111.2 tokens/s
prompt processing (prefill):
3378.3 tokens/s
quant:
Q4_K_M (GGUF)
flash attention:
on

Reported by the source; GPU count, offloading and concurrent requests can change these figures. Prompt-processing speed is input throughput, not time to first token. Check the full setup before comparing.

User reports Qwen3.5-35B-A3B at 111.2 t/s generation and 3378.3 t/s prompt processing on a single Apple M5 Max with 48 GB unified memory. Setup is llama.cpp build 11146 with Metal, GGUF Q4_K_M weights, n_gpu_layers=99 and flash attention enabled. The figures are separate llama-bench microtests, tg128 and pp512, not one 512-input/128-output request or server concurrency throughput; context length is unspecified.

Oct 13, 2026
Apple hardware
generation:
29.2 tokens/s
prompt processing (prefill):
730.5 tokens/s
quant:
Q4_K_M (GGUF)
flash attention:
on

Reported by the source; GPU count, offloading and concurrent requests can change these figures. Prompt-processing speed is input throughput, not time to first token. Check the full setup before comparing.

User reports Qwen3.5-27B at 29.2 t/s generation and 730.5 t/s prompt processing on a single Apple M5 Max with 48 GB unified memory. Setup is llama.cpp build 11146 with Metal, GGUF Q4_K_M weights, flash attention enabled and n_gpu_layers=99; the context length is unspecified. The figures are separate llama-bench microtests, tg128 and pp512, not one 512-input/128-output request or server concurrency throughput.

Oct 13, 2026

Qwen3 8B

M5 Max 48GB · llama.cpp

Apple hardware
generation:
97.7 tokens/s
prompt processing (prefill):
2744.7 tokens/s
quant:
Q4_K_M (GGUF)
flash attention:
on

Reported by the source; GPU count, offloading and concurrent requests can change these figures. Prompt-processing speed is input throughput, not time to first token. Check the full setup before comparing.

User reports Qwen 3 8B at 97.7 t/s generation and 2744.7 t/s prompt processing on an M5 Max 48GB. Setup is llama.cpp build 11146 with Metal, GGUF Q4_K_M weights, n_gpu_layers=99 and flash_attention=true. The figures are separate llama-bench microtests, tg128 and pp512, not one 512-input/128-output request; context length is unspecified.

Oct 13, 2026

Qwen3 4B

M5 Max 48GB · llama.cpp

Apple hardware
generation:
159.7 tokens/s
prompt processing (prefill):
4972.7 tokens/s
quant:
Q4_K_M (GGUF)
flash attention:
on

Reported by the source; GPU count, offloading and concurrent requests can change these figures. Prompt-processing speed is input throughput, not time to first token. Check the full setup before comparing.

User reports Qwen 3 4B at 159.7 t/s generation and 4972.7 t/s prompt processing on an M5 Max 48GB. Setup is llama.cpp build 11146 with Metal, GGUF Q4_K_M weights, n_gpu_layers=99 and flash_attention=true. The figures are separate llama-bench microtests, tg128 and pp512, not one 512-input/128-output request; context length is unspecified.

Oct 13, 2026
Apple hardware
generation:
26.4 tokens/s
prompt processing (prefill):
667.0 tokens/s
quant:
Q4_K_M (GGUF)
flash attention:
on

Reported by the source; GPU count, offloading and concurrent requests can change these figures. Prompt-processing speed is input throughput, not time to first token. Check the full setup before comparing.

User reports Qwen 3 32B at 26.4 t/s generation and 667 t/s prompt processing on an M5 Max 48GB. Setup is llama.cpp build 11146 with Metal, GGUF Q4_K_M weights, flash attention on, and n_gpu_layers=99. The figures are separate llama-bench microtests, tg128=26.38 t/s and pp512=667.0 t/s, not one 512-input/128-output request; context length is unspecified.

Oct 13, 2026
Apple hardware
generation:
148.5 tokens/s
prompt processing (prefill):
3496.9 tokens/s
quant:
Q4_K_M (GGUF)
flash attention:
on

Reported by the source; GPU count, offloading and concurrent requests can change these figures. Prompt-processing speed is input throughput, not time to first token. Check the full setup before comparing.

User reports Qwen 3 30B A3B at 148.5 t/s generation and 3496.9 t/s prompt processing on an M5 Max 48GB. Setup is llama.cpp build 11146 with Metal, GGUF Q4_K_M weights, n_gpu_layers=99 and flash attention enabled. The figures are separate llama-bench microtests, tg128 and pp512, not one 512-input/128-output request or server concurrency throughput; context length is unspecified.

Oct 13, 2026
Apple hardware
generation:
57.4 tokens/s
prompt processing (prefill):
1584.3 tokens/s
quant:
Q4_K_M (GGUF)
flash attention:
on

Reported by the source; GPU count, offloading and concurrent requests can change these figures. Prompt-processing speed is input throughput, not time to first token. Check the full setup before comparing.

User reports Qwen 3 14B at 57.4 t/s generation and 1584.3 t/s prompt processing on an M5 Max 48GB. Setup is llama.cpp build 11146 with Metal, GGUF Q4_K_M weights, n_gpu_layers=99 and flash_attention=true. The figures are separate llama-bench microtests, tg128 and pp512, not one 512-input/128-output request or server concurrency throughput; context length is unspecified.

Oct 13, 2026
Apple hardware
generation:
288.6 tokens/s
prompt processing (prefill):
11493.0 tokens/s
quant:
Q4_K_M (GGUF)
flash attention:
on

Reported by the source; GPU count, offloading and concurrent requests can change these figures. Prompt-processing speed is input throughput, not time to first token. Check the full setup before comparing.

User reports Qwen 3 1.7B at 288.6 t/s generation and 11493.01 t/s prompt processing on an M5 Max with 48GB unified memory. Setup is llama.cpp build 11146 with Metal, Q4_K_M weights, n_gpu_layers=99 and flash_attention=true. The figures are separate llama-bench microtests, tg128 and pp512, not one 512-input/128-output request or server concurrency throughput; context length is unspecified.

Oct 13, 2026
Apple hardware
generation:
457.1 tokens/s
prompt processing (prefill):
23288.5 tokens/s
quant:
Q4_K_M (GGUF)
flash attention:
on

Reported by the source; GPU count, offloading and concurrent requests can change these figures. Prompt-processing speed is input throughput, not time to first token. Check the full setup before comparing.

User reports Qwen 3 0.6B at 457.1 t/s generation and 23288.5 t/s prompt processing on an M5 Max with 48GB unified memory. Setup is llama.cpp build 11146 with Metal, Q4_K_M weights, n_gpu_layers=99 and flash_attention=true. The figures are separate llama-bench microtests, tg128 and pp512, not one 512-input/128-output request or server concurrency throughput; context length is unspecified.

Oct 13, 2026
Apple hardware
generation:
106.0 tokens/s
prompt processing (prefill):
2901.3 tokens/s
quant:
Q4_K_M (GGUF)
flash attention:
on

Reported by the source; GPU count, offloading and concurrent requests can change these figures. Prompt-processing speed is input throughput, not time to first token. Check the full setup before comparing.

User reports Qwen 2.5 Coder 7B at 106 t/s generation on an M5 Max 48GB. Setup is llama.cpp build 11146 with Metal, Q4_K_M weights, n_gpu_layers=99 and flash_attention=true. The figures are separate llama-bench microtests, tg128 and pp512, not one 512-input/128-output request or server concurrency throughput; context length is unspecified.

Oct 13, 2026
Apple hardware
generation:
26.3 tokens/s
prompt processing (prefill):
685.0 tokens/s
quant:
Q4_K_M (GGUF)
flash attention:
on

Reported by the source; GPU count, offloading and concurrent requests can change these figures. Prompt-processing speed is input throughput, not time to first token. Check the full setup before comparing.

User reports Qwen 2.5 Coder 32B at 26.3 t/s generation and 685 t/s prompt processing on an M5 Max 48GB. Setup is llama.cpp build 11146 with Metal, GGUF Q4_K_M weights, flash attention on, and n_gpu_layers=99. The figures are separate llama-bench microtests, tg128 and pp512, not one 512-input/128-output request or server concurrency throughput; context length is unspecified.

Oct 13, 2026
Apple hardware
generation:
56.0 tokens/s
prompt processing (prefill):
1546.0 tokens/s
quant:
Q4_K_M (GGUF)
flash attention:
on

Reported by the source; GPU count, offloading and concurrent requests can change these figures. Prompt-processing speed is input throughput, not time to first token. Check the full setup before comparing.

User reports Qwen 2.5 Coder 14B at 56.0 t/s generation and 1545.95 t/s prompt processing on a single Apple M5 Max with 48 GB unified memory. Setup is llama.cpp build 11146 with Metal, GGUF Q4_K_M weights, n_gpu_layers=99 and flash attention enabled. The figures are separate llama-bench microtests, tg128 and pp512, not one 512-input/128-output request or server concurrency throughput; context length is unspecified.

Oct 13, 2026
Apple hardware
generation:
56.8 tokens/s
prompt processing (prefill):
1537.5 tokens/s
quant:
Q4_K_M (GGUF)
flash attention:
on

Reported by the source; GPU count, offloading and concurrent requests can change these figures. Prompt-processing speed is input throughput, not time to first token. Check the full setup before comparing.

User reports Phi-4 at 56.8 t/s generation and 1537.5 t/s prompt processing on an M5 Max with 48GB unified memory. Setup is llama.cpp build 11146 with Metal, Q4_K_M weights, n_gpu_layers=99 and flash attention enabled. The figures are separate llama-bench microtests, tg128 and pp512, not one 512-input/128-output request or server concurrency throughput; context length is unspecified.

Oct 13, 2026
Apple hardware
generation:
164.9 tokens/s
prompt processing (prefill):
5412.7 tokens/s
quant:
Q4_K_M (GGUF)
flash attention:
on

Reported by the source; GPU count, offloading and concurrent requests can change these figures. Prompt-processing speed is input throughput, not time to first token. Check the full setup before comparing.

User reports Phi-4 at 164.9 t/s generation and 5412.7 t/s prompt processing on an M5 Max 48GB. Setup is llama.cpp build 11146 with Metal, Q4_K_M weights, n_gpu_layers=99 and flash_attention=true. The figures are separate llama-bench microtests, tg128 and pp512, not one 512-input/128-output request or server concurrency throughput; context length is unspecified.

Oct 13, 2026

Get a weekly email of new M5 Max 48GB reports and newly released models that fit it.

Email me new reports

Reported configurations

Individual observations from this page, not expected speeds or a ranking. Select a model to open its report, with the source and offloading conditions. Reported context may be a limit rather than actual input length.

Model / hardwareQuant / engineReported contextGeneration
Qwen3.8 27B
M5 Max 48GB
4-bit
oMLX
4,09693.8 tokens/s
QwQ Qwen 32B Q4_K_M; llama-bench TG128 / PP512
M5 Max 48GB
Q4_K_M
llama.cpp
Not reported26.3 tokens/s
Qwen3.6 35B (3B active)
M5 Max 48GB
Q4_K_M
llama.cpp
Not reported124.3 tokens/s
Qwen3.5 9B
M5 Max 48GB
Q4_K_M
llama.cpp
Not reported86.5 tokens/s
Qwen3.5 4B
M5 Max 48GB
Q4_K_M
llama.cpp
Not reported135.6 tokens/s
Qwen3.5 35B (3B active)
M5 Max 48GB
Q4_K_M
llama.cpp
Not reported111.2 tokens/s

Frequently asked

How fast is the M5 Max 48GB for local LLMs?

On the M5 Max 48GB, Gemma 3 12B at 4-bit, the model most run on it, generates a median of 64.2 tokens per second from 2 plain runs (community reports, as of 31 Oct 2026). Also reported: Gemma 3 4B at 4-bit (163.4 t/s, 2 plain runs); Qwen 2.5 Coder 14B at 4-bit (58.4 t/s, 2 plain runs).

What is the biggest model reported running on the M5 Max 48GB?

The largest model with a plain generation run on the M5 Max 48GB is Qwen3.6 35B · 3B active at 4-bit (137.7 t/s, 2 plain runs), as of 31 Oct 2026. Plain means one device, one request, no speculative decoding, so a run split across several cards does not count.