Flash-MOE Benchmark on M5 Max: 12.99 tok/s with Qwen3.5-397B

✍️ OpenClawRadar📅 Published: March 31, 2026🔗 Source
Flash-MOE Benchmark on M5 Max: 12.99 tok/s with Qwen3.5-397B
Ad

Performance Results

A user benchmarked the flash-moe implementation on an M5 Max MacBook Pro with 128GB unified memory, running the mlx-community/Qwen3.5-397B-A17B-4bit model. The original benchmark by Dan Woods on an M3 Max with 48GB RAM achieved 4.36 tokens per second. On the M5 Max, the baseline configuration with 4-bit quantization and no cache-io-split reached 12.48 tok/s. With the optimal --cache-io-split 4 setting, performance increased to 12.99 tok/s, making it three times faster than the original benchmark.

Cache-IO-Split Analysis

The user performed a full sweep of cache-io-split values using the Anemll fork of flash-moe, which adds Metal 4 NAX support for M5+ chips. The results show that splits 2 and 3 degrade performance, while split 4 provides the best optimization:

  • cache-io-split 1 (none): 12.48 tok/s, 28.4ms expert I/O per token
  • cache-io-split 2: 9.94 tok/s, 28.2ms expert I/O per token
  • cache-io-split 3: 9.99 tok/s, 36.1ms expert I/O per token
  • cache-io-split 4: 12.99 tok/s, 25.9ms expert I/O per token
  • cache-io-split 5: 12.64 tok/s, 27.5ms expert I/O per token
  • cache-io-split 8: 12.90 tok/s, 26.4ms expert I/O per token

The analysis suggests that split 4 aligns with the M5 Max SSD controller's internal parallelism, while higher values add scheduling overhead. The recommendation is to use --cache-io-split 4 or no split at all, avoiding splits 2 and 3.

Ad

Quantization Comparison

Testing 2-bit versus 4-bit quantization revealed that 2-bit offers no speed advantage on the M5 Max, with SSD speed making smaller files unnecessary and dequantization overhead canceling any gains. Quality suffers significantly with 2-bit:

  • 4-bit: 12.99 tok/s, 3.64 perplexity on WikiText-2
  • 2-bit: ~12.65 tok/s, 5.71 perplexity on WikiText-2 (57% worse)

The conclusion is to use 4-bit quantization for better quality without sacrificing speed.

Technical Details

The benchmark used the Anemll fork available at https://github.com/Anemll/flash-moe. Sustained performance remained stable at 11.23 tok/s over 1000 tokens with no degradation. The user noted that background processes using Metal/GPU, such as LM Studio, can significantly impact performance and should be closed during benchmarking.

📖 Read the full source: r/LocalLLaMA

Ad

👀 See Also

Open Source Second Brain System Built on Claude Code for Task Management
Tools

Open Source Second Brain System Built on Claude Code for Task Management

An open source system called Kipi System uses Claude Code to track open threads, draft follow-ups, and manage tasks by pulling from calendar, email, CRM, and social feeds. It generates a daily HTML file with pre-written actions sorted by friction.

OpenClawRadar
Developer builds MCP server connecting 18 e-commerce tools to Claude
Tools

Developer builds MCP server connecting 18 e-commerce tools to Claude

A developer created an MCP server that integrates 18 e-commerce platforms and tools with Claude, enabling cross-referencing queries across multiple data sources. The project was primarily built using Claude Code (Opus) in days rather than months.

OpenClawRadar
Altimate Code: Open-Source Agentic Data Engineering Harness
Tools

Altimate Code: Open-Source Agentic Data Engineering Harness

Altimate Code is an open-source harness that provides deterministic data engineering tools for AI agents, addressing issues like hallucinated SQL and missing schema context. It includes column-level lineage, SQL anti-pattern detection, and dbt integration, with benchmarks showing 74.4% performance on ADE-bench.

OpenClawRadar
DELIGHT: Local Orchestrator Uses Multiple ChatGPT Sessions as Coordinated Agents
Tools

DELIGHT: Local Orchestrator Uses Multiple ChatGPT Sessions as Coordinated Agents

DELIGHT is a local orchestrator that runs multiple hidden ChatGPT browser sessions simultaneously, coordinating them like a team of agents without requiring API keys or GPU resources. It connects to OpenClaw as an action layer to apply changes to real files and run tests.

OpenClawRadar