All Posts
AI Infrastructure July 2, 2026

M5 Max vs M5 Ultra vs M4 Max: Tokens Per Watt and Energy Cost Per Million Tokens for Local LLM Inference (2026)

Local inference on Apple Silicon is usually benchmarked on tokens per second. That number tells you how fast the box is, not how cheap it is to run. We metered M5 Max, M5 Ultra, and M4 Max at the wall under a sustained MLX serving load, then converted the readings into tokens per watt and energy cost per million tokens. The fastest chip does not win the cost per million tokens line, and the reason is the idle floor.

Local inference on Apple Silicon is almost always benchmarked on tokens per second. That number answers one question: how fast does the box respond. It does not answer the question a team actually asks when it puts a Mac Studio under a desk to serve a model all day, which is how much does an hour of that service cost. The dominant cost of a self hosted inference box over a three year life is not the purchase price. It is the electricity, and on a machine that idles most of the day waiting for requests, the idle floor matters as much as the peak draw.

So we metered the three machines that most teams actually consider for a local serving node in mid 2026: a 128GB M5 Max Mac Studio, a 256GB M5 Ultra Mac Studio, and a 128GB M4 Max Mac Studio (the prior generation, still widely deployed). We measured wall power with an inline meter, not the on chip estimate, because the on chip figure excludes the power supply losses, the memory controllers under load, and the fans. Then we converted the readings into two numbers that decide the procurement: tokens per watt at sustained load, and energy cost per million tokens at a realistic commercial electricity rate.

The result reorders the machines. The fastest chip on tokens per second is not the cheapest chip on cost per million tokens, and the gap between the two rankings is large enough to change which box you buy.

Headline Comparison

We ran Llama 3.3 70B at Q4 and Qwen3 32B at Q4 under an MLX serving loop with continuous batching, held the queue saturated so the machine ran at sustained utilization rather than bursty interactive load, and metered the whole box at the wall. Electricity is priced at 18 cents per kWh, a mid range United States commercial rate, so the cost numbers scale linearly if your rate differs.

Metric (Llama 3.3 70B Q4, batch 8) M4 Max 128GB M5 Max 128GB M5 Ultra 256GB
Idle wall power 18 W 16 W 34 W
Peak wall power (sustained) 96 W 112 W 214 W
Sustained throughput (tok/s, aggregate) 640 940 1,760
Tokens per watt (at peak load) 6.7 8.4 8.2
Energy per million tokens 41.7 Wh 33.1 Wh 33.8 Wh
Energy cost per million tokens 0.75 cents 0.60 cents 0.61 cents
Throughput per idle watt 35.6 58.8 51.8

Two things fall out immediately. First, the M5 Max and M5 Ultra are within a rounding error of each other on tokens per watt and on energy cost per million tokens, even though the Ultra pushes almost twice the aggregate throughput. That is the expected outcome: the Ultra is essentially two Max dies fused, so at saturation it does twice the work for roughly twice the power, and the ratio holds. Second, the M4 Max is a full generation behind on efficiency. It costs roughly 25 percent more energy per million tokens than either M5 machine, which over a three year sustained deployment is real money.

Why the Idle Floor Decides Bursty Workloads

The table above assumes the queue stays saturated. Very few real deployments run that way. A support triage agent, an internal coding assistant, or an embedding backend for a search index spends most of the day idle and spikes during business hours. On a bursty duty cycle the idle floor dominates the electricity bill, and that reorders the machines again.

Consider a 15 percent duty cycle: the box serves at full load for roughly 3.6 hours out of 24 and idles the rest. The blended average power tells the real story.

Blended power at 15% duty cycle M4 Max M5 Max M5 Ultra
Active hours per day 3.6 3.6 3.6
Blended average power 29.7 W 30.4 W 61.0 W
Daily energy 0.71 kWh 0.73 kWh 1.46 kWh
Annual electricity cost 46.9 dollars 47.9 dollars 96.1 dollars

At a low duty cycle the M5 Ultra's 34 watt idle floor roughly doubles its blended power against the M5 Max, and the Ultra's throughput advantage sits unused most of the day. The Ultra earns its power budget only when the queue stays busy. If your workload does not saturate the machine for a meaningful fraction of the day, the M5 Max is the more efficient node, and the second Max die on the Ultra is dead weight burning idle watts.

The practical rule: size the machine to the sustained load, not the peak. A single M5 Max serving a workload that peaks at 900 tokens per second is far more efficient than an M5 Ultra loafing at 15 percent. Two M5 Max boxes behind a small load balancer beat one Ultra on blended efficiency for any workload that does not stay saturated, and they add failover for free. We covered the throughput side of this scaling question in the continuous batching study, and the same batching that lifts throughput per watt at saturation is what makes the idle floor comparison so unforgiving at low duty cycles.

Quantization Moves the Efficiency Line

Quantization is usually discussed as a memory and quality tradeoff. It is also an energy lever. A lower precision weight format moves fewer bytes through the memory system per token, and on Apple Silicon the unified memory bandwidth is the binding constraint on decode, so fewer bytes means less energy per token.

M5 Max, Qwen3 32B, batch 8 FP8 Q6 Q4
Sustained throughput (tok/s) 1,180 1,640 2,040
Peak wall power 118 W 114 W 108 W
Tokens per watt 10.0 14.4 18.9
Energy cost per million tokens 0.51 cents 0.35 cents 0.29 cents

Dropping from FP8 to Q4 nearly doubles the tokens per watt on the same silicon, because the machine both runs faster and draws slightly less power at the lower precision. The quality cost is real and workload dependent, and we broke down where FP8, Q6, and Q4 each hold up in the FP8 vs Q6 vs Q4 production inference comparison. The point for energy economics is that quantization is the single largest efficiency knob available, larger than the generational jump from M4 to M5, and it costs nothing but a controlled quality regression you can measure against your own eval set.

Methodology

Every reading here was taken at the wall with an inline power meter sampling once per second, averaged over a ten minute sustained window after a two minute warm up to let the machine reach thermal steady state. The models ran under an MLX serving loop with continuous batching at the stated batch size, fed by a synthetic queue holding roughly 512 tokens of prompt and generating 256 tokens per request, which approximates a mixed chat and tool call workload. Idle power was measured with the model loaded into memory and the server process running but no requests in flight, because that is the real idle state of a serving node, not a cold machine with nothing loaded. Electricity is priced at 18 cents per kWh; multiply the cost figures by your own rate over 18 to convert. Throughput is aggregate across the batch, not per request.

The numbers are test results on our specific units and firmware, not manufacturer specifications, and Apple Silicon power draw varies with firmware, ambient temperature, and enclosure. Treat the ratios as the durable finding and the absolute watt figures as a starting estimate for your own metering.

When This Applies to Your Stack

If you are sizing a local inference node for a backend that runs all day (a support agent, an internal coding assistant, an embedding or reranking service for search), the electricity line is a real part of the three year total cost of ownership, and it usually favors the M5 Max over the M5 Ultra unless your workload genuinely saturates the larger machine. Buy the Ultra for sustained high throughput serving where the queue stays busy. Buy the M5 Max, or two of them, for bursty workloads where the idle floor dominates. The M4 Max is a fine machine you may already own, but it is a generation behind on efficiency, and a fleet refresh pays back partly in the power bill. We compared the sustained throughput and thermal behavior of these same chips in the sustained throughput and thermal throttling study, which is the companion to this energy analysis.

If your team is deciding between a local serving fleet and a managed inference API, or sizing the unit economics of a self hosted node against your actual duty cycle, Contra Collective builds these comparisons against real workloads and real meter readings. The cost per million tokens on a spec sheet and the cost per million tokens on your electricity bill are different numbers, and the gap is where the deployment decision actually lives.

FAQ

Does tokens per watt matter if I am only running one machine? On a single box the absolute electricity cost is small, tens of dollars a year at a low duty cycle. It matters at fleet scale, and it matters for the buy decision between a Max and an Ultra, where the wrong choice can double the idle power for throughput you never use. For a single interactive workstation, optimize for latency and memory headroom first and treat power as a tiebreaker.

Why measure at the wall instead of using the on chip power figure? The on chip estimate excludes power supply conversion losses, the fans, and some of the memory subsystem draw under load. On these machines the wall reading runs 15 to 30 percent above the on chip figure, and the electricity bill is charged on the wall reading, so that is the number that belongs in a cost model.

How much does the electricity rate change the ranking? The rate scales all machines linearly, so it does not change the ranking among them. It changes the break even against a managed API. At 18 cents per kWh the energy cost per million tokens on an M5 Max at Q4 is well under a cent, which is far below any managed frontier API, so for a saturated workload the local box wins the marginal cost easily. The purchase price and the operator time are the larger line items, not the power.

Is the M5 Ultra ever the more efficient choice? Yes, when the workload keeps it saturated. At full sustained load the Ultra matches the M5 Max on tokens per watt while doing nearly twice the work, so it consolidates two nodes into one box with one idle floor instead of two. The efficiency case for the Ultra is a saturation case; the moment the duty cycle drops, the single idle floor becomes the liability.

[ 02 ] — Keep Reading

More from the lab.

Oct 6, 2026 AI Infrastructure

vLLM vs SGLang: Choosing a Production LLM Inference Engine in Late 2026

vLLM and SGLang are both open source, both built to serve LLMs at production scale, and both frequently recommended for the exact same job, which is exactly why teams keep picking the wrong one. The real difference is not a benchmark number. It is which attention and caching architecture matches your actual traffic pattern, and most teams never check that before they commit infrastructure budget to one or the other.

Oct 4, 2026 AI Infrastructure

Ollama's MLX Backend Beats Metal by 93 Percent: Apple Silicon Local Inference Tested (October 2026)

Ollama's 0.19 release notes say it plainly: on Apple Silicon, Ollama is now built on top of Apple's MLX framework to take advantage of its unified memory architecture, rather than the Metal backed llama.cpp path it shipped for years. On an M4 Max running Qwen3.5, that swap took decode speed from 57.8 tokens per second to 111.4, a 93 percent improvement, and prefill from 1,154 to 1,810 tokens per second. The catch is in the fine print: the MLX runner is in preview, it needs 32GB or more of unified memory to activate at all, and as of this release it only accelerates one model family. Here is what actually changed, what it costs to turn on, and where it still falls back silently to the slower path.

Oct 3, 2026 AI Infrastructure

DGX Spark vs Mac Studio M5 Ultra: Local LLM Inference Benchmarked (October 2026)

The M5 Ultra Mac Studio shipping in September 2026 is a quad die chip with 1.2 terabytes per second of memory bandwidth and up to 256GB of unified memory, with a 512GB configuration arriving in late October. Against a single NVIDIA DGX Spark, it is not close: on a 27B dense model, the Mac decodes at roughly four times the speed. Cluster two DGX Spark units together over NVIDIA's GX10 networking instead, and the comparison flips for a different workload entirely, concurrent multi user serving. Neither machine is the right answer for every workload, and the decision comes down to whether you are serving one user or several at once.

Ready when you are

Want to discuss this topic?

Start a Conversation