Affiliate and sponsor disclosure
How "fits" is calculated
- Weights: Weights = size of the public GGUF file (Q4_K_M or Q8_0) on Hugging Face, in bytes. Not estimated from parameter count.
- KV cache: fp16 (2 bytes/element) KV cache; K and V both counted (Gemma 4 global layers conservatively counted as separate K and V even though config says K=V). KV(ctx) = full_bytes_per_token*ctx + swa_bytes_per_token*min(ctx,window) + fixed_state_bytes; bytes derived from config.json (layers, kv heads, head_dim, layer_types).
- Overhead: Flat 1 GiB for compute buffers/runtime. ASSUMPTION; real overhead varies with engine and batch size.
- Memory limit: Apple "GB" of unified memory is treated as GiB (2^30 bytes). Model file sizes (decimal GB on Hugging Face) are converted to GiB. https://tools.its-tahir.com/guides/run-llm-locally-on-mac (about 2/3 of unified memory on Macs with <=32GB, 3/4 on larger); llama.cpp maintainer says ~75% (https://github.com/ggml-org/llama.cpp/discussions/4167). Default Metal limit can be raised with sysctl iogpu.wired_limit_mb.
- Headroom: "Fits with tuning" assumes you raise the GPU wired limit and leave ~4 GiB for macOS and apps. ASSUMPTION, not measured.
- Statuses: fits: need <= 85% of default GPU limit; tight: need <= default GPU limit; tuned: need <= memory - headroom (requires raising the GPU wired limit); no: otherwise. need = weights + KV + overhead.
- Tight margin: "Tight" = fits under the default GPU limit but uses >85% of it. Margin is an ASSUMPTION: in one public run (stared/benching-local-llms-on-apple-silicon) llama.cpp process RSS was ~44 GB for a 36.9 GB Q8_0 GGUF of Qwen3.6-35B-A3B, i.e. real usage can exceed file size + KV by several GB.
- Bandwidth ceiling (optional toggle): Bandwidth ceiling tok/s = memory_bandwidth_GB/s / (bytes read per token in GB). Bytes read per token = Q4 file size * (active params / total params) for MoE; = Q4 file size for dense. An upper bound for decode, NOT a measurement; real speeds are typically well below it.
Speed measurements (tokens/sec)
Shown only where a public source exists. Different engines, quantizations, contexts and llama.cpp builds are not directly comparable; each row says which it is. A blank means nobody has published a measurement we could find, not that the Mac is slow.
| Source | Type | Rows used |
|---|---|---|
| https://github.com/ggml-org/llama.cpp/discussions/4167 | community benchmark thread (llama.cpp maintainers) | 22 |
| https://github.com/BAEM1N/llm-bench | independent GitHub benchmark (secondary repo) | 11 |
| https://github.com/stared/benching-local-llms-on-apple-silicon | independent GitHub benchmark | 4 |
| https://omlx.ai/benchmarks/performance/6p90fycd | public benchmark database entry | 1 |
| https://omlx.ai/benchmarks/performance/e4cglle0 | public benchmark database entry | 2 |
| https://local-ai-registry.vercel.app/?model_id=gpt-oss-120b&topic=recipes | public benchmark registry ("measured") | 4 |
| https://llmcheck.net/blog/state-of-open-source-local-llms-october-2026/ | secondary (blog citing a community benchmark) | 5 |
Macs in the database
Prices are US list prices from apple.com on 2026-10-16; configurations with a memory upgrade use apple.com's base price plus the configurator delta reported publicly (see basis). "n/a" = not captured; we do not guess.
| Mac | Memory | GB/s | Price | Basis |
|---|---|---|---|---|
| MacBook Neo 13" (8GB) | 8GB | 60 | $699 | apple.com "buy from" price for this chip tier at its base memory/storage (retrieved 2026-10-16) (256GB) |
| MacBook Air 13" M5 (8-core GPU, 16GB) | 16GB | 153 | $1,299 | apple.com "buy from" price for this chip tier at its base memory/storage (retrieved 2026-10-16) (512GB) |
| MacBook Air 13" M5 (10-core GPU, 16GB) | 16GB | 153 | $1,399 | apple.com "buy from" price for this chip tier at its base memory/storage (retrieved 2026-10-16) (1TB) |
| MacBook Air 13" M5 (24GB) | 24GB | 153 | n/a | not captured (memory-upgrade price not found in a public source) |
| MacBook Air 15" M5 (16GB) | 16GB | 153 | $1,499 | apple.com "buy from" price for this chip tier at its base memory/storage (retrieved 2026-10-16) (512GB) |
| MacBook Air 15" M5 (32GB) | 32GB | 153 | n/a | not captured (memory-upgrade price not found in a public source) |
| iMac 24" M4 (8-core GPU, 16GB) | 16GB | 120 | $1,499 | apple.com "buy from" price for this chip tier at its base memory/storage (retrieved 2026-10-16) (256GB) |
| iMac 24" M4 (10-core GPU, 16GB) | 16GB | 120 | $1,699 | apple.com "buy from" price for this chip tier at its base memory/storage (retrieved 2026-10-16) (256GB) |
| iMac 24" M4 (32GB) | 32GB | 120 | n/a | not captured (memory-upgrade price not found in a public source) |
| Mac mini M6 (16GB) | 16GB | 153 | $899 | apple.com "buy from" price for this chip tier at its base memory/storage (retrieved 2026-10-16) (256GB) |
| Mac mini M6 (24GB) | 24GB | 170 | $1,099 | apple.com base price + memory-upgrade delta from Apple configurator as reported by Daring Fireball (2026-08-25); base storage; verify in Apple configurator (+$200) |
| Mac mini M6 (32GB) | 32GB | 170 | $1,299 | apple.com base price + memory-upgrade delta from Apple configurator as reported by Daring Fireball (2026-08-25); base storage; verify in Apple configurator (+$400) |
| Mac mini M5 Pro (16-core GPU, 24GB) | 24GB | 307 | $1,699 | apple.com "buy from" price for this chip tier at its base memory/storage (retrieved 2026-10-16) (512GB) |
| Mac mini M5 Pro (20-core GPU, 24GB) | 24GB | 307 | $1,899 | apple.com "buy from" price for this chip tier at its base memory/storage (retrieved 2026-10-16) (512GB) |
| Mac mini M5 Pro (20-core GPU, 48GB) | 48GB | 307 | $2,499 | apple.com base price + memory-upgrade delta from Apple configurator as reported by Daring Fireball (2026-08-25); base storage; verify in Apple configurator (+$600) |
| Mac mini M5 Pro (20-core GPU, 64GB) | 64GB | 307 | $2,899 | apple.com base price + memory-upgrade delta from Apple configurator as reported by Daring Fireball (2026-08-25); base storage; verify in Apple configurator (+$1,000) |
| MacBook Pro 14" M5 (16GB) | 16GB | 153 | $1,999 | apple.com "buy from" price for this chip tier at its base memory/storage (retrieved 2026-10-16) (1TB) |
| MacBook Pro 14" M5 (32GB) | 32GB | 153 | n/a | not captured (memory-upgrade price not found in a public source) |
| MacBook Pro 14" M5 Pro (16-core GPU, 24GB) | 24GB | 307 | $2,499 | apple.com "buy from" price for this chip tier at its base memory/storage (retrieved 2026-10-16) (1TB) |
| MacBook Pro 14" M5 Pro (20-core GPU, 24GB) | 24GB | 307 | $2,699 | apple.com "buy from" price for this chip tier at its base memory/storage (retrieved 2026-10-16) (2TB) |
| MacBook Pro 14" M5 Pro (20-core GPU, 48GB) | 48GB | 307 | n/a | not captured (memory-upgrade price not found in a public source) |
| MacBook Pro 14" M5 Pro (20-core GPU, 64GB) | 64GB | 307 | n/a | not captured (memory-upgrade price not found in a public source) |
| MacBook Pro 14" M5 Max (32-core GPU, 36GB) | 36GB | 460 | $4,099 | apple.com "buy from" price for this chip tier at its base memory/storage (retrieved 2026-10-16) (2TB) |
| MacBook Pro 14" M5 Max (40-core GPU, 48GB) | 48GB | 614 | $4,699 | apple.com "buy from" price for this chip tier at its base memory/storage (retrieved 2026-10-16) (2TB); assumed to include the 48GB minimum for the 40-core GPU ("requires an upgrade to 48GB" per apple.com) |
| MacBook Pro 14" M5 Max (40-core GPU, 64GB) | 64GB | 614 | n/a | not captured (memory-upgrade price not found in a public source) |
| MacBook Pro 16" M5 Max (40-core GPU, 128GB) | 128GB | 614 | n/a | not captured (memory-upgrade price not found in a public source) |
| Mac Studio M5 Max (32-core GPU, 36GB) | 36GB | 460 | $2,499 | apple.com "buy from" price for this chip tier at its base memory/storage (retrieved 2026-10-16) (512GB) |
| Mac Studio M5 Max (40-core GPU, 48GB) | 48GB | 614 | $3,099 | apple.com "buy from" price for this chip tier at its base memory/storage (retrieved 2026-10-16) (512GB) |
| Mac Studio M5 Max (40-core GPU, 64GB) | 64GB | 614 | $3,499 | apple.com base price + memory-upgrade delta from Apple configurator as reported by Daring Fireball (2026-08-25); base storage; verify in Apple configurator (+$400) |
| Mac Studio M5 Max (40-core GPU, 128GB) | 128GB | 614 | $5,099 | apple.com base price + memory-upgrade delta from Apple configurator as reported by Daring Fireball (2026-08-25); base storage; verify in Apple configurator (+$2,000) |
| Mac Studio M5 Ultra (64-core GPU, 96GB) | 96GB | 1200 | $5,499 | apple.com "buy from" price for this chip tier at its base memory/storage (retrieved 2026-10-16) (1TB) |
| Mac Studio M5 Ultra (80-core GPU, 96GB) | 96GB | 1200 | $6,799 | apple.com "buy from" price for this chip tier at its base memory/storage (retrieved 2026-10-16) (1TB) |
| Mac Studio M5 Ultra (80-core GPU, 256GB) | 256GB | 1200 | $10,799 | apple.com base price + memory-upgrade delta from Apple configurator as reported by Daring Fireball (2026-08-25); base storage; verify in Apple configurator (+$4,000) |
| Mac Studio M5 Ultra (80-core GPU, 512GB) | 512GB | 1200 | n/a | 512GB option not orderable yet ("coming late October" per apple.com/mac-studio) |
| MacBook Air 13" M4 (16GB) [previous gen] | 16GB | 120 | n/a | previous generation: no current apple.com price |
| MacBook Pro 14" M4 Pro (20-core GPU, 24GB) [previous gen] | 24GB | 273 | n/a | previous generation: no current apple.com price |
| MacBook Pro 16" M4 Max (40-core GPU, 128GB) [previous gen] | 128GB | 546 | n/a | previous generation: no current apple.com price |
| Mac Studio M4 Max (40-core GPU, 128GB) [previous gen] | 128GB | 546 | n/a | previous generation: no current apple.com price |
| Mac Studio M3 Ultra (60-core GPU, 96GB) [previous gen] | 96GB | 819 | n/a | previous generation: no current apple.com price |
| Mac Studio M3 Ultra (80-core GPU, 256GB) [previous gen] | 256GB | 819 | n/a | previous generation: no current apple.com price |
Models in the database
| Model | Params | Q4_K_M file | Q8_0 file | Sources |
|---|---|---|---|---|
| Llama 3.1 8B Instruct | 8.0B | 4.92 GB | 8.54 GB | GGUF repo · config.json |
| Qwen3.5 9B | 9.7B | 5.68 GB | 9.53 GB | GGUF repo · config.json |
| Gemma 4 12B | 12.0B | 7.12 GB | 12.67 GB | GGUF repo · config.json |
| Phi-4 14B | 14.7B | 8.89 GB | 15.58 GB | GGUF repo · config.json |
| gpt-oss 20B | 20.9B/3.6B act. | 11.62 GB | 12.11 GB | GGUF repo · config.json |
| Mistral Small 3.2 24B | 24.0B | 14.33 GB | 25.05 GB | GGUF repo · config.json |
| Gemma 4 26B-A4B | 25.8B/4.0B act. | 16.95 GB | 26.86 GB | GGUF repo · config.json |
| Qwen3.5 27B | 27.8B | 16.74 GB | 28.6 GB | GGUF repo · config.json |
| Qwen3.6 27B | 27.8B | 16.82 GB | 28.6 GB | GGUF repo · config.json |
| Gemma 4 31B | 31.3B | 18.32 GB | 32.64 GB | GGUF repo · config.json |
| DeepSeek-R1-Distill-Qwen 32B | 32.8B | 19.85 GB | 34.82 GB | GGUF repo · config.json |
| Qwen3.5 35B-A3B | 36.0B/3.0B act. | 22.02 GB | 36.9 GB | GGUF repo · config.json |
| Qwen3.6 35B-A3B | 36.0B/3.0B act. | 22.13 GB | 36.9 GB | GGUF repo · config.json |
| Llama 3.3 70B Instruct | 70.6B | 42.52 GB | 74.98 GB | GGUF repo · config.json |
| Qwen3-Coder-Next 80B-A3B | 79.7B/3.0B act. | 48.53 GB | 84.81 GB | GGUF repo · config.json |
| gpt-oss 120B | 116.8B/5.1B act. | 62.77 GB | 63.39 GB | GGUF repo · config.json |
| Qwen3.5 122B-A10B | 125.1B/10.0B act. | 76.54 GB | 129.87 GB | GGUF repo · config.json |
Known gaps
- Most Mac × model combinations have no public speed measurement.
- Memory-upgrade prices for MacBook Air, MacBook Pro and iMac were not found in a public source and are left blank.
- Some Mac variants (M5 Max 32-core GPU, M5 Ultra 64-core GPU, M6 16GB, A18 Pro) have no public llama.cpp reference run.
- MLX-native quantizations are not modeled; sizes are GGUF.
- DeepSeek V4 Flash and other very large MoE models are omitted because their KV cache cannot be derived reliably from config.json.
Trademarks
Mac, MacBook, MacBook Air, MacBook Pro, iMac, Mac mini, Mac Studio and Apple silicon are trademarks of Apple Inc. This site is independent and not endorsed by Apple.