Home › Articles › RESEARCH

One Model, Every Local Stack

Every local inference server and four coding agents, pointed at the same 35B model on one Mac. Several could not load it; the rest differed more than their marketing suggests.

Summary of a report from Launch80, the NSS research lab. Read the full report →

Launch80 pointed every local inference server they could run at the same Qwen 35B model on one M4 Max, replaying an identical 18-turn coding session from a cold cache. Then they tested four coding agents against a single shared server.

The servers

  • mlx_lm.server, the bare runtime everything else wraps, already does about 90 tok/s — the honest baseline.
  • ctrl8d, Launch80's own fork of mlx-vlm, combined fast first tokens with fast streaming and finished the session in 42 seconds, against 70 and 142 for the two stock modes. Under four concurrent sessions its worst-case wait was 2.9 s.
  • vMLX crashed on every full run; LM Studio could not load the model's architecture; vLLM would not install on Apple Silicon.
  • llama.cpp and ollama ran a GGUF build of the same model — a cross-format comparison — and landed slower, with ollama handling concurrency poorly.

The agents

Sharing one backend, every agent streams at the same speed — that is the server's number. What differs is overhead: one agent spent about 16× the prompt tokens of another on the identical task, and one never emitted the tool call to write its file. The report lists the four mistakes caught mid-run that would otherwise have skewed the results, and asks to be read narrowly: one machine, one model, one sitting.

Read the full report on Launch80

Methodology, every table and chart, and the caveats this summary leaves out.

launch80.com/blog/one-model-five-local-stacks-benchmark →

« All articles  ·  Home