Qwen 3.5 on a MacBook Pro: Eight Local Servers Compared for Team Use
A test on a MacBook Pro M2 Max with 64 GB of memory compared eight local MLX servers running Qwen 3.5 35B. With a single user, the leaders run nearly neck and neck, but with two parallel requests most solutions fall into a queue or lose performance. The tests also exposed some unpleasant details: quadratic attention, inflated metrics caused by an SSE parser, and a zombie process eating 20 GB of RAM.
AI-processed from Habr AI; edited by Hamidun News
Running large models locally on a Mac stopped being an enthusiast's toy a while ago, but the Qwen 3.5 35B story shows there is a wide gap between "it runs" and "it is fit for a team API." The author took a MacBook Pro M2 Max with 64 GB of memory and tested not the model itself but the infrastructure around it: which MLX server holds up under a real workload, does not print flattering numbers in its logs, and does not fall apart the moment two users show up at once.
For the test, a separate Python harness was built and eight local servers were run through it, all positioned as a quick way to stand up an API on top of MLX models on macOS.
The testing did not rely on one convenient question. It used a set of eight prompts of different types and lengths, including AIME-level tasks and long inputs of up to 52 thousand tokens. Each scenario was run five times to smooth out random spikes and give a more honest picture of latency, generation speed and overall behavior under load. The emphasis was on measuring not peak lab speed but behavior close to production use: with streamed responses, network overhead and repeatable measurement conditions.
With a single user there was almost no drama: the top three showed similar results, and in short sessions the difference between them looks more cosmetic than real. That is exactly why the marketing promises in READMEs are so misleading. Looking only at a single request, it seems that almost any modern MLX server is good enough for everyday work. But that conclusion breaks down as soon as a local model goes from a personal tool to a team service, where requests start to overlap in time.
The most revealing stage of the test was the parallel load of two requests. This is where the real gap between solutions appeared. Four of six frameworks effectively slid into a queue and served requests almost sequentially, even though they looked multithreaded from the outside. Another server kept parallelism in name only and dropped to a factor of 0.85x, meaning the second request got in the way more than it helped use the hardware. Only one participant showed a genuine 2.17x speedup, which begins to look like acceptable behavior for a local team API, where the goal is not just to answer one user quickly but to hold several requests without a dramatic slowdown.
Along the way, problems surfaced that matter more than the dry numbers in a table. In one case the author ran into quadratic attention, which in 2026 can still badly degrade behavior on long contexts. In another, phantom 14,000 tokens/sec appeared not because of some magical optimization but because of a single line in an SSE parser that skewed the measurement. The author also mentions a zombie process that left about 20 GB of RAM occupied, a risk READMEs prefer to stay silent about. For anyone planning local production use, these are not trifles: such bugs hurt service predictability, monitoring and support costs more than a difference of a few percent in raw speed.
The practical value of the work is that it shifts the focus from attractive promises to usage scenarios. If one developer needs the model for occasional requests, ease of setup and baseline speed are what matter. But for a team API with parallelism, long contexts and a need to recover quickly from failures, choosing a server by its README is already risky. The benchmark makes a simple point: a local stack for Qwen 3.5 should be evaluated as infrastructure, not as a demo. Otherwise you can end up with a system that looks "fast" in single-request tests but, in live use, turns a powerful MacBook into an expensive queue of requests.
- Nov 2, 2026Manager-less DreamTeam swarm wrote trustcheck for $5.68 and passed 13 of 13 hidden tests
- Nov 2, 2026NVIDIA releases Nemotron 3.5 Bolt E4B: 4 GB and 133 tokens per second on an RTX 5070
- Nov 2, 2026Faros: median code review time up 441% in teams using AI agents
- Nov 2, 2026DeepSeek open-sources Super-agent prototype: p95 task completion time of 15.7 minutes vs. 29.5
Test Frontier LLMs & Autonomous Agents in One Workspace
Run Claude Opus 5.5, GPT-6, Gemini 3.1, and DeepSeek side-by-side in Nomad AI (nomadnet.ai) — unified model routing, deep research, and multimodal workflows under one subscription.
The AI world, distilled — once a week
Seven stories that actually mattered, hand-picked. No noise, no reposts, no press releases.
Done! Check your inbox for a confirmation.