Fabian G. Williams aka Fabs

Fabian G. Williams

Principal Product Manager, Microsoft Subscribe to my YouTube.

You Asked, So I Measured: What Concurrency Actually Costs On One Local Model

Reddit pushed back on my batching post with 3 sharp, testable claims: decode is memory-bandwidth-bound, prefill batches better than decode, and prompt length changes the whole story. So I built a measurement matrix, ran 36 barrier-synchronized loads against 1 local Qwen 3.8 on my Macbook Pro M3 Max, and let the numbers settle it. 2 of the 3 predictions held. 1 did not show up the way I expected, and I am keeping the correction in. Then a real agent handoff stalled on the exact wall these charts describe, and I show how a one-day-old runtime was already a first-class citizen in my receipts governance framework.

Fabian Williams

14-Minute Read

A line chart showing aggregate throughput flattening while per-agent decode rate collapses as concurrent agents rise from one to eight on one local MLX model

Over last week and these last 2 days in this week I posted measured answers to readers both in Twitter and Reddit who asked whether my experiments of 2 local agents on 1 Mac run in parallel or take turns. The answers was that they share one continuous batch, batching is real, and 3 quiet choices collapse it. I thought that was the end of it. It was not. The comments were better than my post, WHICH IS AWESOME, becaue this is the crowdsourcing of brain power I love. I not trying to be a KNOW IT…

I Added a Second Local Agent This Week. Here Is the Receipt for Every Human Decision Behind It.

I trialed a second local coding agent, Hermes from Nous Research, on my own MacBook, pointed at the same local Qwen 3.8 model I already run. Installed additively so nothing already working could break, governed with manual approvals, then tested until it proved it behaves. Here is the trial, in tables and screenshots, plus a receipt for the human hours behind writing it up.

Fabian Williams

7-Minute Read

The Hermes agent running against a local Qwen3.8-27B MLX server, with the Apple M3 Max GPU pinned at 97 percent on the first turn

This week I trialed a second local coding agent, Hermes from Nous Research, on my own MacBook Pro M3 Max, pointed at the same local Qwen 3.8 model I already run. I installed it additively, so nothing already working could break, governed it with manual approvals, and did not stop until it proved it behaves. Here is the trial, in tables and screenshots.

Two Agents, One Local Model: Do They Run in Parallel, or Take Turns? I Measured It.

A reader asked what happens if I run two local coding agents against the same Qwen 3.8 model on one Mac at the same time. I thought I knew the answer. I was wrong. So I read the server source, wrote a barrier-synchronized load driver to remove the human-ordering bias, and measured it. Batching is real up to 32 wide, but it is not free, and three innocent-looking choices collapse it back to a single lane.

Fabian Williams

9-Minute Read

A line chart showing aggregate throughput rising with concurrent agents while per-agent decode rate falls, on one local MLX model

A reader on Reddit asked me a sharp question about my last post. I had trialed a second local coding agent, Hermes, pointed at the same local Qwen 3.8 model my other agent already uses. His question was simple. Did I ever run both agents at the same time, two separate harnesses hammering one model on one Mac at once. And what about Hermes spawning its own sub-agents against that same endpoint. Is any of that predictable.

Recent Posts

Categories

About

Fabian G. Williams aka Fabs Site