MTPLX measured LM Studio on its own M5 Max, on the same night and the same task as the MTPLX 2.7.0 release measurements: 17.40 tok/s against 32.4 over one 52,740-token answer. Created by Youssof Altoukhi, who brought native MTP to the Mac in April 2026.
What LM Studio does well
LM Studio is a desktop app with a large catalog of local models.
The numbers
Both engines ran the same long-answer task on the same M5 Max on 15 Aug 2026 at the official Qwen 3.8 sampling (temp 1.0 / top-p 0.95 / top-k 20). The MTPLX row is the Bare Speed pack, averaged over one 52,740-token answer that took 27.2 minutes.
| Engine | Model | Machine | Task | Sampling | Decode tok/s | Source | Date |
|---|---|---|---|---|---|---|---|
| LM Studio (version not recorded here) | Qwen 3.8 27B (LM Studio build and quantization not recorded here) | M5 Max, MTPLX's own machine | the 52,740-token long-answer task, sustained | official Qwen 3.8 sampling: temp 1.0 / top-p 0.95 / top-k 20 | 17.40 | MTPLX 2.7.0 release note, same-night run | 15 Aug 2026 |
| MTPLX 2.7.0, MTP depth 3 | Qwen 3.8 27B Bare Speed: flat 4-bit, 64-weight groups | M5 Max, MTPLX's own machine, fans verified at max | one 52,740-token answer, 27.2 minutes, sustained average | official Qwen 3.8 sampling: temp 1.0 / top-p 0.95 / top-k 20 | 32.4 | MTPLX 2.7.0 release note | 15 Aug 2026 |
MTPLX has published no other LM Studio speed number. Cells that read "not recorded here" are details the release note did not record.
What is different
- Where the draft comes from. LM Studio's speculative decoding uses a separate draft model. MTPLX drafts with the model's own MTP head (native MTP): on the Qwen 3.8 27B packs the model drafts three tokens ahead, the target verifies them in one forward pass, and the speculative path runs the same model as the AR path.
- Exact at any temperature. Acceptance is probability-ratio min(1, p/q) with residual (p - q)+ resampling (Leviathan–Chen), so output follows the model's distribution at any temperature. MTPLX has never shipped a greedy-only path. Activations stay bf16 (fp16 on M1/M2) on every pass.
- Prefix caching together with speculation. Since 2.0.0 (6 Jul 2026) MTPLX checkpoints the attention KV cache plus the recurrent and conv GDN state at commit boundaries. A 100k-token session restores in about 2 s after a restart instead of a five-minute cold prefill, and mid-session tool rounds restore warm in under 2 s.
- Depth chosen by measurement. During onboarding MTPLX runs the model itself at each draft
depth with fans pinned, keeps plain AR as the baseline, and saves a depth only if it beats AR.
mtplx tune --model <m> --retuneruns it again. - One server, two dialects.
mtplx startor the app's play button serves an OpenAI-compatible API on 127.0.0.1:8000 (/v1/chat/completions,/v1/completions,/v1/models,/v1/embeddings,/v1/rerank) and an Anthropic-compatible/v1/messages, with streaming and tool calls in both styles. The app and the CLI share one server:mtplx startattaches to the app's loaded model instead of loading a second copy.