docs/mlx-lm-apple-m4.md
MLX-LM, Apple M4
Qwen3-0.6B, warm, batch 1, 6 interleaved runs.
| Axis | vllm.cpp | MLX-LM | Ratio |
|---|---|---|---|
| Prefill TTFT | 524.5 ms | 532.6 ms | 1.015x |
| Decode | 27.23 tok/s | 27.85 | 0.978x |
| Warm total | 24.37 tok/s | 24.96 | 0.976x |
The 2.4% is a real gap, not noise: our spread was 0.12% and MLX-LM’s 0.34%. All of it sits in decode, 0.81 ms per token. Indicative rather than binding: two models, 18 of 75 ops native, and the 97.6% needs the optional MLX GEMM provider shape-gated to prefill (95.9% on the default build).