MTPLX/Compare/MTPLX vs LM Studio

MTPLX vs LM Studio on a Mac.

LM Studio is a desktop app for running local models, with a large catalog. MTPLX is a free, open source Mac app and CLI that runs local LLMs on Apple Silicon with native MTP speculative decoding, exact at any temperature.

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.

EngineModelMachineTaskSamplingDecode tok/sSourceDate
LM Studio (version not recorded here)Qwen 3.8 27B (LM Studio build and quantization not recorded here)M5 Max, MTPLX's own machinethe 52,740-token long-answer task, sustainedofficial Qwen 3.8 sampling: temp 1.0 / top-p 0.95 / top-k 2017.40MTPLX 2.7.0 release note, same-night run15 Aug 2026
MTPLX 2.7.0, MTP depth 3Qwen 3.8 27B Bare Speed: flat 4-bit, 64-weight groupsM5 Max, MTPLX's own machine, fans verified at maxone 52,740-token answer, 27.2 minutes, sustained averageofficial Qwen 3.8 sampling: temp 1.0 / top-p 0.95 / top-k 2032.4MTPLX 2.7.0 release note15 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> --retune runs it again.
  • One server, two dialects. mtplx start or 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 start attaches to the app's loaded model instead of loading a second copy.
Sources. MTPLX numbers link to their release notes; third-party numbers link to their authors. If you measure something different on your Mac, open an issue with the command line and the log.