Last run 2026-11-15

Local LLM Speed Test

Real tokens/sec from readers' Macs and GPUs, grouped by model. A machine is only ranked against others on the same model, with the same prompts.

Machines
25
Runs
46
Fastest on Qwen3.8 27B
99.4 tok/sApple M5 Ultra, 64-core GPU
Test your machine
  1. Run the speed test

    $ npx @modelfit/cli@latest bench

    No Node? brew tap modelfit-io/tap, brew trust modelfit-io/tap, brew install modelfit, then run modelfit bench. The first run downloads the test model it picks (about 3 to 17 GB).

  2. Get your card

    Your tok/s, your machine and your rank among the machines on the same model.

  3. Post it on X and tag @modelfit_

    Your result page has a Post on X button. Give your X handle and the card shows it.

Speed test card: NVIDIA GeForce RTX 5090, 150.0 tok/s on Qwen3.8 27B (Q4_K_M · 17.3 GB), spec. decoding · 4k ctx
A real card: NVIDIA GeForce RTX 5090, Nov 10.

It proposes the biggest test model your machine runs well, shows your result and asks before sending anything: machine type, memory, Ollama version and timings, plus your X handle if you give one (your card then shows it with your X profile picture). No name, no email, no files.

Method: Ollama, a warm-up, then 3 prompts of about 500 tokens, 256 generated tokens each, 4k context, temperature 0. A row is the median of that machine's runs. Needs Ollama.

Table 1Leaderboard

Measured speed by model

median tok/s
#MachineMemoryDecodePrefillRuns
Qwen3.8 27B qwen3.8:27b · 11 machines
1Apple M5 Ultra, 64-core GPUMLXspec. decoding · 4k ctxnvfp4 MLX · 18.5 GB96 GB
99.4 tok/s
731.1 tok/s1
2Apple M5 Max, 40-core GPUMLXspec. decoding · 4k ctxnvfp4 MLX · 18.5 GB128 GB
71.3 tok/s
248.6 tok/s1
3Apple M5 Max, 40-core GPUMLXspec. decoding · 4k ctxnvfp4 MLX · 18.5 GB64 GB
70.9 tok/s
902.1 tok/s1
4Apple M4 Max, 40-core GPUMLXspec. decoding · 4k ctxnvfp4 MLX · 18.5 GB64 GB
49.7 tok/s
220.7 tok/s2
5Apple M2 Ultra, 60-core GPUMLXspec. decoding · 4k ctxnvfp4 MLX · 18.5 GB128 GB
43.0 tok/s
204.5 tok/s1
6Apple M5 Pro, 20-core GPUMLXspec. decoding · 4k ctxnvfp4 MLX · 18.5 GB48 GB
37.8 tok/s
449.3 tok/s2
7Apple M4 Pro, 20-core GPUMLXspec. decoding · 4k ctxnvfp4 MLX · 18.5 GB48 GB
31.7 tok/s
138.4 tok/s2
8Apple M2 Max, 30-core GPUMLXspec. decoding · 4k ctxnvfp4 MLX · 18.5 GB64 GB
25.3 tok/s
139.9 tok/s1
9Apple M1 Max, 24-core GPUMLXspec. decoding · 4k ctxnvfp4 MLX · 18.5 GB64 GB
14.5 tok/s
89.9 tok/s1
10Apple M5 Max, 32-core GPUclassicQ4_K_M · 17.3 GB36 GB
13.1 tok/s
202.1 tok/s1
11Apple M1 Max, 32-core GPUMLXspec. decoding · 4k ctxnvfp4 MLX · 18.5 GB32 GB
11.7 tok/s
70.8 tok/s1
Qwen3.5 9B Instruct qwen3.5:9b · 5 machines
1Apple M3 Ultra, 60-core GPUMLXnvfp4 MLX · 7.7 GB96 GB
126.2 tok/s
1107.3 tok/s1
2Apple M5 Ultra, 64-core GPUQ4_K_M · 5.5 GB96 GB
125.0 tok/s
3086.4 tok/s1
3Apple M2 Pro, 16-core GPUMLXnvfp4 MLX · 7.7 GB16 GB
32.7 tok/s
258.6 tok/s1
4Apple M1 Pro, 16-core GPUMLXnvfp4 MLX · 7.7 GB16 GB
29.9 tok/s
240.5 tok/s1
5Apple M2, 10-core GPUMLXnvfp4 MLX · 7.7 GB16 GB
4.9 tok/s
50.1 tok/s1
Qwen3.5 4B Instruct qwen3.5:4b · 4 machines
1Apple M1 Max, 24-core GPUMLXnvfp4 MLX · 4.1 GB64 GB
52.1 tok/s
550.4 tok/s1
2Apple M4, 10-core GPUMLXnvfp4 MLX · 4.1 GB16 GB
27.7 tok/s
410.0 tok/s3
3Apple M2, 10-core GPUMLXnvfp4 MLX · 4.1 GB16 GB
23.0 tok/s
229.2 tok/s1
4Apple M1, 7-core GPUMLXnvfp4 MLX · 4.0 GB8 GB
10.2 tok/s
110.9 tok/s1
Flint 40B-A2.5B flint:40b · 1 machine
1Apple M4 Pro, 20-core GPUMLXint4 MLX · 22.6 GB48 GB
100.1 tok/s
942.8 tok/s1
Qwen3.6 35B-A3B qwen3.6:35b-a3b · 2 machines
1Apple M2 Max, 38-core GPUMLXnvfp4 MLX · 23.2 GB64 GB
101.0 tok/s
888.7 tok/s1
2Apple M4 Pro, 20-core GPUMLXQ4_K_M · 22.0 GB48 GB
80.5 tok/s
771.2 tok/s4
Nemotron 3.5 Lightning 30B-A3B nemotron-3.5-lightning:30b · 1 machine
1Apple M2 Max, 38-core GPUMLXnvfp4 MLX · 19.2 GB64 GB
96.4 tok/s
828.8 tok/s1
Gemma 4 26B-A4B gemma4:26b · Q4_K_M · 1 machine
1Apple M6, 12-core GPU32 GB
59.3 tok/s
1027.8 tok/s1
LFM2.5 8B-A1B lfm2.5:8b-a1b-q4_K_M · Q4_K_M · 1 machine
1Apple M2, 10-core GPU16 GB
58.2 tok/s
568.5 tok/s1
NVIDIA Nemotron 3.5 Bolt E4B nemotron-3.5-bolt:e4b · 1 machine
1Apple M2, 10-core GPUMLXnvfp4 MLX · 7.2 GB16 GB
23.6 tok/s
264.8 tok/s1
Qwen2.5 1.5B Instruct qwen2.5:1.5b-instruct-q4_K_M · Q4_K_M · 6 machines
1Apple M5 Max128 GB
251.0 tok/s
-3
2Apple M4 Pro48 GB
166.7 tok/s
-1
3Apple M1 Max64 GB
115.6 tok/s
-1
4Apple M416 GB
71.3 tok/s
-1
5Apple M1 Pro32 GB
65.9 tok/s
-3
6Apple M18 GB
51.1 tok/s
-2

Rows are ranked within their model only; the bar compares a machine with the fastest one on the same model. Decode is generation speed, prefill is prompt processing, both as Ollama reports them. Offload: part of the model ran outside GPU memory, which slows decode. MLX: Ollama ran its MLX build of the model instead of the GGUF file. Spec. decoding: the run decoded speculatively (several tokens per pass over the weights, at the CLI's 4k context), so it is ranked apart from classic runs of the same machine, which get their own row. A run faster than the machine's memory bandwidth allows for its model stays off the table. The Qwen2.5 1.5B Instruct group also keeps single-prompt runs from CLI 1.5.2 to 1.6, which report no prefill.

Fig. 1Cards

Latest cards

one per machine
  • Speed test card: Apple M1 Max 32-core GPU · 32GB, 11.7 tok/s on Qwen3.8 27B (nvfp4 MLX · 18.5 GB), spec. decoding · 4k ctx
  • Speed test card: NVIDIA GeForce RTX 3070, 100.6 tok/s on Qwen3.5 4B Instruct (Q4_K_M · 3.1 GB)
  • Speed test card: Apple M5 Max 40-core GPU · 64GB, 70.9 tok/s on Qwen3.8 27B (nvfp4 MLX · 18.5 GB), spec. decoding · 4k ctx
  • Speed test card: NVIDIA GeForce RTX 5060 Ti, 104.2 tok/s on Qwen3.5 4B Instruct (Q4_K_M · 3.1 GB)
  • Speed test card: NVIDIA GeForce RTX 5060 Ti, 67.1 tok/s on Qwen3.5 9B Instruct (Q4_K_M · 5.6 GB)
  • Speed test card: NVIDIA GeForce RTX 4070, 77.5 tok/s on Ornith 1.0 9B (Q4_K_M · 5.3 GB)
Estimates vs measurements

How is this different from the speeds elsewhere on ModelFit?

The configurator, device pages and guides show estimated tokens/sec computed from memory bandwidth and model size. This table holds measurements: the same model, prompts and settings on every machine of a group. Where your machine and model have a row, the configurator shows the measured speed next to the estimate. The data is open: JSON export (CC BY 4.0). For quality scores, see the benchmark.

Local LLM Speed Test: Real tok/s by Mac and GPU