The scorecard

Two reviews published local-model figures on 21 September: BGR (Christian de Looper; M5 Ultra 256 GB against an M3 Ultra, in LM Studio) and MacStories (Federico Viticci; M5 Ultra 256 GB against an M3 Ultra 512 GB, in oMLX with multi-token prediction). BGR’s runs match the index’s protocol — plain decode on short prompts — so they go straight into the dataset. MacStories measured something different, and the section below explains why that matters.

ModelMacIndex estimateMeasured (BGR)Estimate vs measured
Qwen3.8-27B, 4-bitM5 Ultra57 tok/s~55 tok/s+4% (slightly high)
Qwen3.8-27B, 4-bitM3 Ultra39 tok/s~40 tok/s−3% (slightly low)
Qwen 3.5 122B-A10BM5 Ultra~58 tok/s~80 tok/s−28% (too cautious)
Qwen 3.5 122B-A10BM3 Ultra~41 tok/s~60 tok/s−32% (too cautious)

Only the first line existed as a row in the index before this week. The other estimates are what the published formula gives for those chips, computed exactly the way every other estimate is. BGR did not state the quantization for its 122B test, and the dataset records it as unstated rather than guessing.

Dense models: the formula held

The index estimates decode speed from memory bandwidth with a two-term model fitted in August to vendor-published runs on the M5 Max, then checked against one figure it had never seen. It had never seen an Ultra at all. Qwen3.8-27B is a 27.8B dense model, about 16 GB of weights at 4-bit, and the M5 Ultra’s 1.2 TB/s is 50% more bandwidth than the M3 Ultra’s 819 GB/s. The formula predicted 57 and 39; BGR measured about 55 and 40.

The M5 Ultra came out 37% faster than the M3 Ultra on that model, against its 50% bandwidth advantage. That sub-linear scaling is exactly what the model’s fixed per-token overhead predicts: the faster the memory, the larger the share of each token’s time spent on work that bandwidth does not speed up.

What that buys a reader: for dense models, the index’s estimates on chips nobody has measured yet are trustworthy to within a few percent. That covers most of what the 42 Best-by-Mac pages rank.

Sparse models: the index was too cautious

Mixture-of-experts models read only their active parameters for each token, which the raw bandwidth formula rewards generously — too generously, the index decided in September, because its one measured MoE run at the time (DeepSeek V4 Flash at 39 tok/s on an M5 Max, 2-bit) came in at 0.42 of the raw figure. Every MoE estimate since has been scaled by that factor.

Qwen 3.5 122B-A10B, with 10B active, lands near 0.6 on both Ultras in BGR’s runs. So the factor is conservative, by about a third for this model. We are keeping it for now rather than refitting to three data points spread from 0.42 to 0.61: under-promising a buyer’s speed costs less than over-promising it. The practical rule is simple — treat MoE estimates in the index as floors. (Superseded: small-MoE estimates were refit on 5 October, and large-MoE estimates have since erred in both directions; see October below.) Where a model has its own measured rows, as Qwen 3.5 122B-A10B now does, its other chips are scaled from those measurements instead of from the factor.

MTP figures measure a different workload

MacStories ran most of its tests in oMLX with multi-token prediction on. MTP is speculative decoding with prediction heads the model ships with: it drafts several tokens and verifies them in one pass, and oMLX’s documentation puts the typical gain at 1.5–1.7×. LM Studio has supported it since version 0.4.14 in May. It is real speed you can use — but it is not the same measurement as plain decode, so these figures stay out of the dataset:

MacStories, oMLX with MTPM5 UltraM3 Ultra
Qwen3.8-Flash-Next, 4-bit, generation at a 16K prompt52 tok/s37 tok/s
Qwen3.8-Flash-Next, 4-bit, prose generation111.6 tok/s—

Corrected 18 October 2026: this table also listed MacStories’ Qwen3.8-27B race, 48 against 31 tok/s, as an MTP result. The review ran that race with multi-token prediction off, after a 6,091-token prompt, so both figures are plain decode and now sit in the dataset as published rows.

Two more things separate the MTP figures from BGR’s. The prompts were long — up to 16K tokens — and reading a large KV cache slows decode. And MTP’s gain depends on how predictable the text is: prose drafts well, code less so. The Flash-Next results are still the most useful data on that model so far, and the index’s plain-decode estimate for it (~85 tok/s on M5 Ultra) stays labelled an estimate until someone publishes a figure without MTP. (One has since arrived: 57.0 tok/s, community-measured on an M5 Ultra in llama.cpp, a third below that estimate; see October.)

The real M5 story is prompt processing

Decode rose about 40% from M3 Ultra to M5 Ultra. Prompt processing rose about 150%. MacStories measured Flash-Next reading a 16K prompt at 2,887 tok/s on the M5 Ultra against 1,143 on the M3 Ultra, and time to first token fell from 13.9 seconds to 5.6. For Qwen3.8-27B the prefill figures were 1,701 against 414 tok/s. BGR saw the same at short prompts: first tokens in about half a second instead of over one.

That is the M5’s GPU Neural Accelerators at work, and it matters more for agents than for chat: an agent re-reads a long context on every step, so prefill is most of its waiting. The index ranks on decode, because decode is what bandwidth predicts. If you run a coding agent locally, the M5 generation’s gain is larger than any tok/s column shows.

The M6: the first published figures

When this was written, on 23 September, the index had found no press review with local-model figures for the Mac mini M6; tbreak’s review of 21 September had in fact published two (see the 18 October update above). An early hands-on video, summarised on daily.dev, reports Qwen3.8-27B at 8–9 tok/s on a 32 GB M6 in LM Studio with plain MLX — where the index’s estimate of 8 sits — and 17–19 tok/s with MTP enabled. That is corroboration, not a dataset entry. The M6 rows stayed estimates until published figures with their setup were linked; the 16 GB model’s 153 GB/s makes it slower than the 24 and 32 GB models’ 170.

October: fifteen more runs against the formula

Since this post, the index has added the runs below. Each is set against the index’s formula estimate for the same chip at the same quantization; where a source does not state its quantization, the 4-bit estimate. A filled square marks a published figure (a vendor, or a press review that documents its setup); a hollow circle marks one person’s documented run.

Model and setupSourceMacMeasured, tok/sEstimateGap
Qwen3.8-27B, BF16, MLX, 8K-token contextAppleM5 Ultra, 512 GBsourced19.69~16.9+17%
Qwen3.8-27B, BF16, MLX, 8K-token contextAppleM3 Ultra, 512 GBsourced12.46~11.3+10%
Mistral Medium 3.5 (128B dense), FP8, MLX, 8K-token contextAppleM5 Ultra, 512 GBsourced7.70~7.0+10%
Mistral Medium 3.5 (128B dense), FP8, MLX, 8K-token contextAppleM3 Ultra, 512 GBsourced4.95~4.7+5%
Qwen3.8-27B, Q4_K_M, llama.cpp, 2,048-token inputTom’s HardwareM5 Ultra, 256 GBsourced46.27~55.7−17%
Qwen3.8-27B, oQ4e, oMLX (MTP off), 6,091-token promptMacStoriesM5 Ultra, 256 GBsourced48~53.1−10%
Qwen3.8-27B, oQ4e, oMLX (MTP off), 6,091-token promptMacStoriesM3 Ultra, 512 GBsourced31~36.4−15%
Qwen3.8-27B, 4-bit, mlx_lm.benchmark, 512-token promptNetworkChuck repoM5 Ultra, 256 GBcommunity54.7~55.7−2%
Qwen3.8-27B, 4-bit, mlx_lm.benchmark, 512-token promptNetworkChuck repoM3 Ultra, 512 GBcommunity37.6~38.2−2%
Qwen 3 30B-A3B (MoE), MLX, quantization not statedtbreakMac mini M6, 32 GBsourced62.01~56.1+11%
Qwen 3 4B, MLX, quantization not statedtbreakMac mini M6, 32 GBsourced53.35~53.8−1%
Qwen3.8-27B, 4-bit QAT, LM Studioreview blogMac mini M6, 24 GBcommunity9.42~8.4+12%
Qwen3.8-27B, 4-bit, mlx-vlm, 525-token promptllamaperf reportMac mini M6, 24 GBcommunity9.8~8.3+18%
Gemma 4 26B-A4B (MoE), 4-bit, SwiftLMSwiftLM PRMac mini M6, 32 GBcommunity52.2~47.1+11%
Qwen3.8-Flash-Next (MoE), IQ4_NL, llama.cpp, no speculationllamaperf reportM5 Ultra, 256 GBcommunity57.0~84.7−33%

Three things stand out. Short-prompt plain decode of a dense model is where the formula is tightest: the mlx_lm.benchmark runs sit within 2% on both Ultras, in line with BGR’s figures. Prompt length and runtime move a figure by 10–17% either way: Tom’s Hardware’s llama.cpp run came in 17% under, MacStories’ runs after a 6,091-token prompt 10–15% under, and Apple’s BF16 runs at an 8K context up to 17% over. And the large mixture-of-experts estimates are not reliable floors: Qwen3.8-Flash-Next’s first plain-decode M5 Ultra figure came in a third under its estimate, while MiMo-V2.6-Flash ran about twice as fast as estimated on a 256 GB M3 Ultra (59.4 and 59 tok/s, community).

Apple’s tables also give the cleanest chip-to-chip comparison yet, because both Macs ran the same tool, model and context: the M5 Ultra decodes 1.58 times faster than the M3 Ultra on Qwen3.8-27B and 1.56 times faster on Mistral Medium 3.5. That is slightly more than the 1.5-times bandwidth ratio between them; the formula, with its fixed cost per token, predicts slightly less (about 1.49). The full cross-check of every new run, by model class, is in How accurate are LLMCheck’s speed estimates?, and the three Studio chips are compared in M5 Ultra vs M3 Ultra vs M5 Max.

What changed in the index

Frequently Asked Questions

How fast is Qwen3.8-27B on an M5 Ultra Mac Studio?

About 55 tok/s at 4-bit in LM Studio, according to BGR's review of the 256 GB model published 21 September 2026 (a published figure); the same model ran at about 40 tok/s on an M3 Ultra. Other plain-decode runs range from 46.27 tok/s (Tom's Hardware, llama.cpp Q4_K_M, 2,048-token input) to 54.7 (community, MLX 4-bit). MacStories measured 48 tok/s in oMLX with multi-token prediction off, after a 6,091-token prompt.

Is the M5 Ultra worth it over the M3 Ultra for local LLMs?

For decode, expect a third to 60 percent more tokens per second: BGR measured 55 against 40 tok/s on Qwen3.8-27B and 80 against 60 on Qwen 3.5 122B-A10B, and Apple's own MLX tables show 1.56 to 1.58 times on two dense models. The bigger gain is prompt processing — MacStories measured about 2.5 times faster prefill on a 16K prompt, cutting time to first token from 13.9 to 5.6 seconds, which matters most for coding agents.

What is MTP and does it make local LLMs faster?

Multi-token prediction is a form of speculative decoding that uses prediction heads built into models such as Qwen3.8: the model drafts several tokens and verifies them at once. oMLX's documentation puts the typical speedup at 1.5 to 1.7 times, and LM Studio has supported it since version 0.4.14. The gain depends on how predictable the text is, so LLMCheck keeps MTP figures out of its plain-decode dataset.

How fast is the Mac mini M6 for local LLMs?

A press review had published M6 figures by 21 September 2026: tbreak's Mac mini M6 review measured Qwen 3 30B-A3B at 62.01 tok/s and Qwen 3 4B at 53.35 on a 32 GB M6, figures the LLMCheck index found later. Community runs add Qwen 3.6-35B-A3B at 64 tok/s on a 32 GB M6 and Qwen3.8-27B at 9.42 and 9.8 tok/s on a 24 GB M6. The 16 GB model has less memory bandwidth, 153 GB/s against 170, and is slower.

How accurate are LLMCheck's speed estimates?

For a dense model at a short prompt, very close: BGR's 55 and 40 tok/s for Qwen3.8-27B landed within 4 percent of the estimates published at the time (57 and 39), and a community mlx_lm.benchmark run (54.7 and 37.6) within 2 percent of today's. Longer prompts and other runtimes spread wider, from 17 percent under (Tom's Hardware, llama.cpp) to 17 percent over (Apple, BF16). Large mixture-of-experts estimates have erred in both directions. Every figure is labelled estimated, published or community.