Compare MLX LM with Ollama, not just two names
MLX is an array framework; MLX LM is a Python package for text generation and fine-tuning on Apple silicon. Ollama provides a local model-running workflow and API. A useful comparison names the actual package, model artifact and version used. Comparing an unspecified “MLX” score against an unspecified Ollama setup is not reproducible. MLX LM project, Ollama documentation.
| Decision | MLX LM | Ollama |
|---|---|---|
| Starting interface | Python API and command-line generation | Local runtime, CLI and HTTP API |
| Experiment focus | MLX-format inference, quantization and tuning | Model serving and integration workflow |
| What to record | Package version, converted artifact and settings | Runtime version, model digest and options |
| Fair comparison requirement | Same underlying model and equivalent task | Same underlying model and equivalent task |
This table compares documented workflows, not speed or model quality. Different artifact formats and quantization implementations may prevent exact equivalence. Declare those differences before interpreting a result.
Why a model fitting in memory is not enough
Approximate raw weight storage is parameter count multiplied by bits per parameter, divided by eight. In decimal units, eight billion parameters at four bits gives about 4 GB. That excludes metadata, quantization overhead, caches, activations and the rest of the system. Actual runtime memory must be measured.
Ollama documents additional memory pressure from parallel request contexts. A configuration that works for one request may behave differently under concurrency. Do not treat the calculation above as a guarantee that an 8B model is practical on a particular machine. Serving and memory reference.
Run a comparison that can change your decision
Choose one workload, such as extracting a fixed JSON schema from a support ticket. Define correctness before timing. Keep the same prompt, output budget and grading rules. Record artifact identifiers, tokenizer or chat-template differences and all relevant runtime settings.
Measure cold load, first-token latency, steady generation, peak memory and task outcome separately. Warm caches can improve later runs; mix them into a cold-run average and the result loses meaning. Preserve failed and interrupted runs rather than dropping them from the dataset.
Select for the workflow you will maintain
If your work requires Python-side model experimentation or tuning, evaluate MLX LM first. If the main requirement is an application calling a local inference API, evaluate Ollama’s serving workflow. These are starting recommendations, not exclusive capabilities. LM Studio is another candidate when a desktop interface is central; its documentation describes local chat, document workflows and serving. LM Studio docs.
Use the memory planning tool to establish a lower-bound estimate, then record actual results in the benchmark kit. No measured speed winner is declared here because this website does not yet have a verified paired dataset.
Interpret bandwidth alongside the measured phase
The current hardware comparison includes Apple-rated bandwidth for M2 Max, M3 Ultra and the M5 Ultra specification reference. Those figures describe the chips, not measured inference speed. Single-stream decoding may benefit from greater usable memory bandwidth when memory traffic is the bottleneck, but prompt processing, batching and runtime kernels can behave differently.
Keep the same model artifact and workload when investigating a hardware difference. If one setup uses a mixture-of-experts model, do not divide the whole model file into bandwidth and present the result as expected tokens per second. Active expert selection and cache traffic change that reasoning.
Use the bandwidth guide and the owner-provided M3 Ultra dataset as context. The dataset shows real screenshot observations with incomplete metadata. It is useful evidence to preserve, but it does not yet establish a paired MLX LM versus Ollama benchmark or a cross-machine speed ranking.
Sources and review notes
Official MLX LM, Ollama and LM Studio documentation checked October 14, 2026. The memory chart is arithmetic, and the comparison method is editorial guidance. Hardware throughput remains a separate experiment requiring raw measurements.
Owner evidence: M2 Max 64GB
Measured workload, not a hardware ranking.
Owner-supplied oMLX v0.7.0 screenshots show Code (Python), 128 output tokens, and a model label beginning Qwen3.6-35B-A3B-Uncensored-HauhauCS-Aggressive-Opti… . The full artifact and quantization are not visible.
| Input / batch | Generation tok/s | TTFT ms | E2E seconds | Peak GB reported |
|---|---|---|---|---|
| 1024 / 1× | 81 | 1076.3 | 2.662 | 19.89 |
| 4096 / 1× | 78.4 | 3956.5 | 5.595 | 21.79 |
| 1024 / 2× | 133.2 | 2085.7 | 4.47 | Not shown |
| 1024 / 4× | 213.1 | 3871.2 | 8.526 | Not shown |
At 2× and 4× batching, generation is aggregate throughput, not the rate each user receives. The screenshot reports 1.64× and 2.63× speedup.
All-time serving: a separate view
The All-Time / All Models dashboard reports 215.6 tok/s prompt processing excluding cached tokens and 33.2 tok/s generation. Its date range, model mix and request count are unknown. These are mixed-use averages, not another benchmark or proof of a latency/cost saving. The empty Today history does not invalidate the all-time counters.
The M2 Max specification is 400 GB/s memory bandwidth; the M3 Ultra is 819 GB/s. The supplied tests use different artifacts and oMLX versions (v0.7.0 versus v0.5.4), so their token speeds cannot isolate bandwidth or establish which chip is faster. Inspect both datasets, bandwidth sources and original screenshots →
Bring the problem. We’ll scope the next step.
Something in your workflow keeps breaking, or your team is doing the same manual work every week.
Send the current setup, what failed, and the result you need. I can help with software integrations, local AI infrastructure, agent permissions, failure recovery and deployment.
Useful first details: system or runtime, expected workload, data restrictions and one redacted example. Don’t send credentials or private customer data.Fazal Shah builds AI systems, automation and software products. Based in Pakistan, working with a global audience. About Fazal →