I had four Macs free overnight and ran the same benchmark on all of them: same build, same models, same settings. Decode speed, tok/s (4-bit, no speculative decoding): Model M2 Pro 32GB M4 Pro 48GB M5 Max 36GB M3 Ultra 256GB Qwen3.5 4B 63 79 133 159 gpt-oss 20B 50 74 114 132 Gemma 4 26B (MoE) 53 73 115 118 Qwen3-Coder 30B (MoE) – 89 136 100 Qwen3.8 27B (dense, 3.5bpw) 12 16 28 37 One 1024x1024 image with Qwen-Image 2.1: M2 Pro 451 s, M4 Pro 264 s, M5 Max 38 s, M3 Ultra 83 s. What surprised me: On MoE models the 36 GB M5 Max matches or beats the M3 Ultra. Only 3-4B params are active per token, so the newer GPU matters more than bandwidth. On the dense 27B the Ultra still wins (37 vs 28). That one is bandwidth-bound. Image generation is the biggest jump: the M5 Max is ~7x faster than the M4 Pro and ~2x faster than the Ultra. M2 Pro -> M4 Pro is only ~1.3-1.5x on text. Method: prompt 512 tokens, generate 128, 1 warmup + 5 runs, median. One run per cell, so treat small gaps as noise. MLX-based engine (disclosure: I work on Rapid-MLX, which is what I used); other runtimes will give different absolute numbers, the Mac-to-Mac ratios are the interesting part. "–" = doesn't fit or not run.   submitted by   /u/Striking-Swim6702 [link]   [comments]