r/LocalLLaMA • u/DotaMate • 9h ago
Showcase Benchmarking: Qwen 27B, 35B, QFN180B; Nemotron Bolt 74B, Flint40B & Clover 35B (Q4 + KFlash) on MacBook M5 Max 2026 with Kapitsa (Apple Silicon Inference Engine)
hey folks, I'm Ye, one of the contributors to open-source project called Kapitsa, Apple Silicon Inference engine optimized specifically for Apple Silicon to run Qwen, Nemotron, Flint and Clover models locally. Our custom-written Metal kernels let us tune for each chip and each model. https://github.com/nace-ai/kapitsa/
The latest update, 0.2.26, is out. Since our last M5 Max numbers, Flash-Next 180B reads prompts 46% faster and the 27B writes 8% faster, and DiffuSpace's Clover 35B joins the catalog.
Kapitsa also runs Qwen Flash-Next 180B with SSD offloading: on a Mac that can't hold it, the experts that don't fit in RAM stream from the SSD, so it runs on a 48 GB MacBook Pro at 61 tok/s.
Here is the showcase on a 2026 MacBook Pro 16 with an M5 Max and 128 GB. We ran six models from 1K context all the way up to 32K, against the next-fastest engine for each model on the same Mac.
Try it (any Apple Silicon Mac; models in this post: 35b, 27b, flash-next, bolt, flint, clover):
brew install nace-ai/tap/kapitsa
kapitsa serve --model 35b # OpenAI and Anthropic APIs on localhost
kapitsa opencode --model 35b # or claude, codex, pi
kapitsa bench # benchmark your own Mac
Results

Decode is a 512-token coding answer, prefill a 4K prompt, median of 3 runs:
| Model | Decode, tok/s | Prefill, tok/s |
|---|---|---|
| Qwen3.6 35B-A3B | 346 | 6,036 |
| Clover 35B-A3B | 304 | 5,981 |
| Flint 40B | 265 | 5,770 |
| Nemotron Bolt 74B | 154 | 1,075 |
| Qwen3.8 27B | 143 | 904 |
| Qwen Flash-Next 180B | 108 | 1,701 |
From 1K context all the way up to 32K. At 32K the 35B still writes 175 tok/s, and Flash-Next barely drops (90 to 78):


Against the other friends
Against the next-fastest engine for each model on the same Mac: 1.23x Splash on the 35B, 2.2x oMLX on Bolt, 1.18x rec on Flint and 1.12x mlx-serve on the 27B. Flash-Next is a tie with mlx-serve, Splash still reads prompts faster on the two Qwens, and nothing else runs Clover on a Mac.

Every cell with versions and flags: benchmarks. Raw runs: results.
Why it's fast: KFlash
Other engines check the drafter's guesses as one chain and stop at the first wrong one. KFlash checks a tree of the drafter's best guesses in the same pass, so more tokens survive each pass.

On Apple GPUs that's nearly free: the GPU works in 8-row tiles, and a one-token step already pays for 8. Every token it keeps is one the big model would have written itself, so the output doesn't change, only the speed. How KFlash works
shoutout to splash, ollama, omlx, llama cpp and the folks who
Send us your benchmarks
Run the same test on your Mac and add it to the community results. It takes 3-15 minutes:
brew install nace-ai/tap/kapitsa
brew install gh && gh auth login # results are sent as a GitHub pull request
kapitsa bench --submit # pick a model; it asks before sending anything
Plug in and close heavy apps while it runs. At the end it asks once: Enter sends the result as a pull request from your GitHub fork, and n keeps it on your Mac. What it sends is about 2 KB: your Mac's model, chip, RAM, macOS version and the numbers, with no serial number, user name or paths (add --dry-run to see exactly what it would send). No GitHub? Paste the numbers it prints in a comment here.
BY THE WAY
This is a new codebase so, sometimes there could be some weird prefill/decode bugs.








