whatisgithub

What is mlx-inference-workbench?

weklund/mlx-inference-workbench — explained in plain English

Analysis updated 2026-05-18

3PythonAudience · researcherComplexity · 5/5Setup · hard

In one sentence

A personal benchmarking toolset for measuring and optimizing LLM inference speed on Apple Silicon Macs, aimed at running coding agents locally.

Mindmap

mindmap
  root((MLX Workbench))
    What it does
      Inference benchmarking
      Thermal validation
      Kernel profiling
    Tech stack
      Python
      MLX
      Rust
    Use cases
      Backend comparison
      Local coding agents
      Kernel optimization
    Audience
      Researchers
      Performance engineers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Benchmark LLM text inference performance across multiple backends on an Apple Silicon Mac

USE CASE 2

Validate that performance measurements are thermally reproducible before trusting a benchmark result

USE CASE 3

Profile custom Metal kernels to find real inference bottlenecks on Apple's unified memory architecture

USE CASE 4

Track experiment results over time using a shared, versioned benchmarking harness

What is it built with?

PythonMLXRustMetal

How does it compare?

weklund/mlx-inference-workbench0marildo/imago0xdfi/glm-5.2-1m-4x-dgx-spark
Stars333
LanguagePythonPythonPython
Setup difficultyhardeasyhard
Complexity5/52/55/5
Audienceresearchergeneralresearcher

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1day+

Targets a specific high-end Apple Silicon Mac (M5 Max) and requires deep familiarity with GPU kernel profiling.

So what is it?

mlx-inference-workbench is a personal research project for measuring and improving how large language models run for text generation on Apple Silicon Macs, specifically the author's Mac with an M5 Max chip and a large amount of shared memory. The goal is to build a single, consistent way of benchmarking different inference setups so that experiments can be fairly compared against each other, and eventually to use what is learned to write custom, faster low level graphics chip code for running AI models locally, with the longer term aim of running capable coding assistants entirely on a local Mac rather than through a cloud service. The project follows a deliberately staged approach rather than jumping straight into optimization. Early phases focus on understanding an existing fast inference library's custom low level code and validating that benchmark measurements are actually reproducible from one test run to another, since heat buildup in a laptop can otherwise quietly skew results. Only once measurements pass a strict reproducibility check does the project move on to building out the actual benchmarking tools, establishing baseline performance numbers across several different inference backends and language models, and then digging into individual pieces of GPU code to find where time is actually being spent. Later planned phases involve building parts of the system in Rust and writing custom graphics chip shaders by hand, followed by a series of specific, hypothesis driven optimization experiments. The repository is organized around a shared benchmarking toolset, a folder of versioned test prompts, individual numbered experiment folders, and a growing set of custom low level graphics code. It uses a Python based build tool for dependency management and ships with a bundled set of commands for linting, running tests, checking code coverage, and running a quick smoke test of the whole benchmarking pipeline end to end. As a personal, actively evolving workbench rather than a finished tool, it is aimed at someone already comfortable with performance engineering and Apple's machine learning framework rather than a general audience.

Copy-paste prompts

Prompt 1
Explain what thermal reproducibility validation means in this benchmarking harness and why it gates every phase
Prompt 2
Walk me through running make smoke to test the benchmarking pipeline end to end
Prompt 3
Show me how to add a new experiment folder following this project's phased experiment template
Prompt 4
Help me compare two benchmark runs using the bench-compare make target

Frequently asked questions

What is mlx-inference-workbench?

A personal benchmarking toolset for measuring and optimizing LLM inference speed on Apple Silicon Macs, aimed at running coding agents locally.

What language is mlx-inference-workbench written in?

Mainly Python. The stack also includes Python, MLX, Rust.

How hard is mlx-inference-workbench to set up?

Setup difficulty is rated hard, with roughly 1day+ to a first successful run.

Who is mlx-inference-workbench for?

Mainly researcher.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.