llamaperf
Oct 13, 2026
Throughput
74.7 t/s gen · 2710.5 tokens/s prompt processing (prefill)Prompt processing measures input prefill speed; it does not tell you the time to first token.
Quant
Q4 (MLX)
System RAM
256 GB

Summary

NetworkChuck, measured 2026-09-20; recovered 2026-10-13, not locally rerun. Measurements/docs: CC BY 4.0. Native data: https://github.com/theNetworkChuck/mac-studio-m5-ultra-local-ai/blob/main/data/language-models/engine.json ; HTTP summary/raw: https://github.com/theNetworkChuck/mac-studio-m5-ultra-local-ai/blob/main/data/language-models/summary.json ; https://github.com/theNetworkChuck/mac-studio-m5-ultra-local-ai/blob/main/data/language-models/runs.jsonl . Method: https://github.com/theNetworkChuck/mac-studio-m5-ultra-local-ai/blob/main/docs/method.md . Merged suite window 14:41:54.718–16:55:25.045 UTC; native cells have no individual timestamps. Native 32768-input/128-output headline: PP=2710.513, TG=74.694 tokens/s, separate five-trial medians, not pooled across lengths. Input is exactly 32768 synthetic tokens. Configured KV capacity unknown and blank. Batch 1; one device. Hardware: Apple Mac Studio M5 Ultra (36-core CPU, 80-core GPU); 256GB installed unified memory; macOS27.0; applegpu_g17d; CPU composition 12 super+24 performance; 8TB storage. Unified RAM and allocator peaks are not dedicated VRAM. M5 was an Apple review loan. Comparator M3 used macOS26.5.1 and had a stuck indexer consuming one CPU core. OS/background effects were not isolated. Power, thermals, clocks, swap and offload count unknown. Model: mlx-community/Qwen3.5-122B-A10B-4bit; 4-bit; MLX Safetensors. Public identity/precision verified 2026-10-13: https://huggingface.co/mlx-community/Qwen3.5-122B-A10B-4bit . Source labels moe, nominal total/active 122/10B; rounded labels, not exact architecture counts. Tested HF revision/hash and group/mixed-precision details unknown; weights not hash-checked. Current HF does not identify the historical snapshot/runtime. Runtime: mlx-lm0.31.3/MLX0.32.2; fingerprint 0.31.3-0.32.2-macOS-27.0-arm64-arm-64bit-applegpu_g17d. Harness command: mlx_lm.benchmark --model <folder> -p <input> -g 128 -n 5. Command/parser: https://github.com/theNetworkChuck/mac-studio-m5-ultra-local-ai/blob/main/harness/src/bench/ssh.ts ; https://github.com/theNetworkChuck/mac-studio-m5-ultra-local-ai/blob/main/harness/src/bench/engine.ts . Model already loaded; one discarded warm-up, five trials. Rates printed to 3 decimals; harness uses their median/min/max, not tool means. Versioned runtime semantics: https://github.com/ml-explore/mlx-lm/blob/v0.31.3/mlx_lm/benchmark.py and https://github.com/ml-explore/mlx-lm/blob/v0.31.3/mlx_lm/generate.py . Seed 0, random IDs rather than HTTP essay, EOS disabled, batch 1, default prefill step 2048, no trial delay. Native prompt_tps=prompt.size/time through first generated token; includes first-token work, not pure kernels. generation_tps=count/time after that boundary through final detokenization, count 128. Fresh KV each call: no prompt_cache passed. No draft/KV-quant/activation-quant flags; flash selection and build/source commit unknown. Native rows: input/output; PP/TG median[min,max] tokens/s; peak decimal GB; n trials: 512/128: PP=1870.512[1865.216,1873.479]; TG=87.709[87.688,87.905]; peak=69.846GB; n=5 4096/128: PP=3200.297[3193.664,3203.373]; TG=85.742[85.451,85.787]; peak=71.554GB; n=5 16384/128: PP=3010.206[3008.737,3011.547]; TG=80.1[79.851,80.134]; peak=71.856GB; n=5 32768/128: PP=2710.513[2709.622,2711.209]; TG=74.694[74.651,74.787]; peak=72.259GB; n=5 Peak=max printed MLX peak_memory, mx.get_peak_memory()/1e9 allocator high-water, not RSS/disk/RAM/VRAM. No trial reset shown; warm-up/earlier allocations may contribute. Load-time/energy unknown. HTTP: serial LAN streaming from separate controller; mlx_lm.server prompt-cache-size 0, thinking disabled, temperature 0, cap 128. Repeated sample.txt essay+summary instruction, unique run-ID prefix. One discarded warm-up+five measured requests/cell, 30-second rests; 100K has one measured run. Raw: cachedTokens 0, output 128, firstWordField=content. Uncached input, warm-loaded model; not cold loading. Controller monotonic timing starts before request; first nonempty text ends TTFT. Client read=input/TTFT; write=(output−1)/(last−first text time); total ends at stream completion. Network/HTTP included; not native PP/TG. Code: https://github.com/theNetworkChuck/mac-studio-m5-ultra-local-ai/blob/main/harness/src/lane.ts . HTTP rows: nominal; actual in/out; read/write tokens/s; first/total seconds; median[min,max], n. Shown to 10 significant digits; raw retains full precision. 512: in=511[510,511]; out=128[128,128]; read=1256.096122[1224.29579,1257.790424]; write=77.53911604[76.90463099,77.73018079]; first=0.406622[0.406268,0.416566]; total=2.044738[2.042052,2.058322]; n=5 4K: in=4096[4095,4096]; out=128[128,128]; read=2739.515301[2729.305653,2741.341845]; write=75.92279071[75.83669672,75.95430302]; first=1.495155[1.493794,1.500748]; total=3.168134[3.166987,3.173735]; n=5 16K: in=16269[16268,16270]; out=128[128,128]; read=2650.536339[2643.423045,2655.044617]; write=68.87392222[68.5605576,69.23724004]; first=6.138003[6.127204,6.15452]; total=7.982103[7.968434,7.992452]; n=5 32K: in=32501[32500,32502]; out=128[128,128]; read=2300.210565[2297.96314,2302.14058]; write=65.26630193[65.11885473,65.32323686]; first=14.129576[14.117296,14.14383]; total=16.076793[16.067721,16.089006]; n=5 100K: in=99120[99120,99120]; out=128[128,128]; read=1329.419949[1329.419949,1329.419949]; write=51.20472212[51.20472212,51.20472212]; first=74.558833[74.558833,74.558833]; total=77.047687[77.047687,77.047687]; n=1 No independent model-quality validation.