M3 Pro LLM benchmark
On the M3 Pro, measured single-user chat decode speeds are: ~7–9B models at 22.0 tok/s (mlx; Measured, middle of 4 results, source run), ~14B models at 14.4 tok/s (4bit, mlx; Measured, middle of 2 results, source run) and ~32B models at 7.1 tok/s (mlx; Measured, middle of 2 results, source run). Short-chat workload, local runtimes, dense models only; quantization, backend and settings vary between submissions, so check each row in the tables below.
Fastest single result in these submissions (any model size)
286.5 decode tok/s
Qwen2.5-0.5B-Instruct-4bit (0.5B) via mlx (4bit). Workload: chat-short. Reported hardware: M3 Pro (18-core GPU) + 36GB unified. see full run
Qwen3-32B-4bit
| Workload | Model size | Reported hardware | Backend | Quant | decode tok/s | prefill tok/s | TTFT | Run |
|---|---|---|---|---|---|---|---|---|
| chat-short | not supplied | M3 Pro (18-core GPU) + 36GB unified | mlx@0.31.3 | - | 7.16tok/s | 25.65tok/s | 4,288ms | r_pnrrpcdqfo4 |
Qwen2.5-32B-Instruct-4bit
| Workload | Model size | Reported hardware | Backend | Quant | decode tok/s | prefill tok/s | TTFT | Run |
|---|---|---|---|---|---|---|---|---|
| chat-short | not supplied | M3 Pro (18-core GPU) + 36GB unified | mlx@0.31.3 | - | 7.05tok/s | 33.41tok/s | 3,921ms | r_f4x3xaan2ay |
gemma-2-9b-it-4bit
| Workload | Model size | Reported hardware | Backend | Quant | decode tok/s | prefill tok/s | TTFT | Run |
|---|---|---|---|---|---|---|---|---|
| chat-short | not supplied | M3 Pro (18-core GPU) + 36GB unified | mlx@0.31.3 | - | 21.97tok/s | 102.5tok/s | 1,151ms | r_q7t7b7dcuz5 |
Qwen2.5-14B-Instruct-4bit
| Workload | Model size | Reported hardware | Backend | Quant | decode tok/s | prefill tok/s | TTFT | Run |
|---|---|---|---|---|---|---|---|---|
| chat-short | 14B | M3 Pro (18-core GPU) + 36GB unified | mlx@0.31.3 | 4bit | 14.41tok/s | 117.9tok/s | 1,111ms | r_ia73dzeue0b |
phi-4-4bit
| Workload | Model size | Reported hardware | Backend | Quant | decode tok/s | prefill tok/s | TTFT | Run |
|---|---|---|---|---|---|---|---|---|
| chat-short | not supplied | M3 Pro (18-core GPU) + 36GB unified | mlx@0.31.3 | - | 15.61tok/s | 120.7tok/s | 936ms | r_-w8hnn61va_ |
Llama-3.1-8B-Instruct-4bit
| Workload | Model size | Reported hardware | Backend | Quant | decode tok/s | prefill tok/s | TTFT | Run |
|---|---|---|---|---|---|---|---|---|
| chat-short | not supplied | M3 Pro (18-core GPU) + 36GB unified | mlx@0.31.3 | - | 29.20tok/s | 203.3tok/s | 669ms | r_h0-use1ypnb |
Qwen2.5-7B-Instruct-4bit
| Workload | Model size | Reported hardware | Backend | Quant | decode tok/s | prefill tok/s | TTFT | Run |
|---|---|---|---|---|---|---|---|---|
| chat-short | 7B | M3 Pro (18-core GPU) + 36GB unified | mlx@0.31.3 | 4bit | 30.52tok/s | 161.9tok/s | 809ms | r_llzv_g-ymaf |
| chat-short | 7B | M3 Pro (18-core GPU) + 36GB unified | mlx@0.31.3 | 4bit | 15.67tok/s | 54.34tok/s | 2,411ms | r_e3t93rscswq |
stable-code-instruct-3b-4bit
| Workload | Model size | Reported hardware | Backend | Quant | decode tok/s | prefill tok/s | TTFT | Run |
|---|---|---|---|---|---|---|---|---|
| chat-short | not supplied | M3 Pro (18-core GPU) + 36GB unified | mlx@0.31.3 | - | 19.37tok/s | 131.3tok/s | 967ms | r_pqjsvd-cub4 |
Qwen2.5-0.5B-Instruct-4bit
| Workload | Model size | Reported hardware | Backend | Quant | decode tok/s | prefill tok/s | TTFT | Run |
|---|---|---|---|---|---|---|---|---|
| chat-short | 0.5B | M3 Pro (18-core GPU) + 36GB unified | mlx@0.31.3 | 4bit | 286.5tok/s | 656.2tok/s | 200ms | r_akcbpx5vcqa |
| chat-short | 0.5B | M3 Pro (18-core GPU) + 36GB unified | mlx@0.31.3 | 4bit | 282.6tok/s | 668.8tok/s | 196ms | r_bftqtkilvoe |