3.1× vs MLX-VLM
More code, less waiting. The full Qwen3.8 Flash-Next model, running locally.
- tokspur147.6 tokens/sec
- Main model
- 4-bit mix
- Draft helper
- 8-bit draftsDrafter options
- MLX-VLM47.2 tokens/sec
- Main model
- 4-bit mix
- Draft helper
- Off
2.9× vs llama.cpp
Identical code, delivered sooner. Both code tests passed type checking.
- tokspur140.7 tokens/sec
- Main model
- 4-bit mix
- Draft helper
- 8-bit draftsDrafter options
- llama.cpp48.5 tokens/sec
- Main model
- 4-bit mix
- Draft helper
- Off
Choose your drafter
Ahead of every engine we have found
Recorded and published Qwen3.8 Flash-Next rates on M5 Max, with Tokspur at the top. Each row names the engine it runs on and its setup.
- tokspurOwn Metal engine148.0 tokens/sec
- Main model
- 4-bit mix
- Draft helper
- 8-bit draftsDrafter options
Cached prompts, UD-Q4_K_XL with Q8 drafts. Complete request time.
Benchmark - MTPLX 2.11.3, publishedMLX125.8 tokens/sec
- Main model
- 4-bit mix
- Draft helper
- 16-bit built-in
Optimized Speed, depth 3, cached prompts and maximum fans.
Source - Strata, Q2_0 with MTPOwn Metal engine122.8 tokens/sec
- Main model
- 2-bit
- Draft helper
- 2-bit experts
Q2_0 with fresh context. Generation time only.
Source - Splash 1.4.0, localOwn Metal engine112.5 tokens/sec
- Main model
- 4-bit mix
- Draft helper
- On
UD-Q4_K_XL with drafts and fresh code prompts. Generation time only.
- oMLX, adaptive MTPMLX111.0 tokens/sec
- Main model
- 3.5-bit mix
- Draft helper
- Built-in MTP
oQ3.5e with fresh context. Server timing.
Source - Lily, Q4 with MTPOwn Metal engine107.0 tokens/sec
- Main model
- 4-bit
- Draft helper
- Built-in MTP
Q4 with 2 drafts. Median of 3 requests.
Source - mlx-serve, opt-in TokenV3MLX106.5 tokens/sec
- Main model
- Mixed precision
- Draft helper
- MTP on
Mixed pack with KV8 and depth 3. Modified sampling.
Source - MFQ, V3-XXS with MTPOwn Metal engine105.4 tokens/sec
- Main model
- Mixed precision
- Draft helper
- Built-in MTP
V3-XXS quantisation with Python code prompts.
Source - mlx-serve, default verifierMLX92.5 tokens/sec
- Main model
- Mixed precision
- Draft helper
- MTP on
Mixed pack with KV8 and depth 3. Default sampling.
Source - llama.cpp with MTPllama.cpp (ggml)59.3 tokens/sec
- Main model
- 4-bit mix
- Draft helper
- 8-bit sidecar
UD-IQ4_XS with 2 drafts and fresh context.
Source - Ollama, plain GGUFllama.cpp (ggml)44.5 tokens/sec
- Main model
- 4-bit mix
- Draft helper
- Off
UD-Q4_K_XL without drafts. Median of 3 runs.
- llama.cpp, no MTPllama.cpp (ggml)44.4 tokens/sec
- Main model
- 4-bit mix
- Draft helper
- Off
UD-IQ4_XS without drafts, with fresh context.
Source
Code that passes
Tokspur carried Rust and Swift repairs from failing test to passing build, clearing every visible test and hidden check along the way. Bring it into your workflow with OpenCode.
| Repair | Setup | Result |
|---|---|---|
| Rust repair | tokspur default | Pass |
| Foundation Swift repair | tokspur with NAX | Pass |
Start coding
Put Qwen to work in your editor. Your code stays on your Mac, with no per-token bill.
Test setup
M5 Max, 40-core GPU, 128 GB. Recorded on 7th November 2026 with cached prompts.
MLX-VLM comparison
Same prompts and output length. Tokspur used UD-Q4_K_XL with Q8 drafts. MLX-VLM 0.7.12 used oQ4e with a checkpoint scale fix and no drafter.
llama.cpp comparison
Complete request time across 2 code tests, with the same UD-Q4_K_XL target weights and prompts. Tokspur used Q8 drafts. llama.cpp v0.9.0 ran without a drafter.
Published MLX-VLM reference
Stock MLX-VLM with fresh context, measuring generation time.
- Stock MLX-VLM 0.7.8, no MTPMLX56.4 tokens/sec
- Main model
- 4-bit
- Draft helper
- Off
4-bit MLX with fresh context. Generation time only.
Source