date stringdate 2026-10-22 00:00:00 2026-10-26 00:00:00 | model stringclasses 2
values | hf_repo stringclasses 2
values | total_params stringclasses 2
values | active_params stringclasses 2
values | quant stringclasses 2
values | runtime stringclasses 2
values | hardware stringclasses 1
value | memory_gb int64 64 64 | test stringlengths 16 61 | metric stringlengths 12 32 | value stringlengths 1 6 | unit stringclasses 10
values | source_post stringclasses 3
values |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2026-10-22 | Flint | RecursiveSI/flint | 40B | 2.5B | 4-bit | Ollama | M5 Pro Mac mini | 64 | short coding prompt | decode_speed | 115 | tok/s | https://x.com/pratikg/status/2113047879548105131 |
2026-10-23 | Flint | RecursiveSI/flint | 40B | 2.5B | 4-bit | Ollama | M5 Pro Mac mini | 64 | read 20K-token codebase then add a feature | prefill_time | 11 | s | https://x.com/pratikg/status/2113087627503256038 |
2026-10-23 | Flint | RecursiveSI/flint | 40B | 2.5B | 4-bit | Ollama | M5 Pro Mac mini | 64 | read 20K-token codebase then add a feature | decode_speed_at_20k_context | 87 | tok/s | https://x.com/pratikg/status/2113087627503256038 |
2026-10-23 | Flint | RecursiveSI/flint | 40B | 2.5B | 4-bit | Ollama | M5 Pro Mac mini | 64 | read 20K-token codebase then add a feature | tests_passed | 40/40 | tests | https://x.com/pratikg/status/2113087627503256038 |
2026-10-23 | Flint | RecursiveSI/flint | 40B | 2.5B | 4-bit | Ollama | M5 Pro Mac mini | 64 | JSON parser from scratch | first_draft_test_failures | 13 | failures | https://x.com/pratikg/status/2113087627503256038 |
2026-10-23 | Flint | RecursiveSI/flint | 40B | 2.5B | 4-bit | Ollama | M5 Pro Mac mini | 64 | JSON parser from scratch | rounds_to_fix_all | 1 | rounds | https://x.com/pratikg/status/2113087627503256038 |
2026-10-23 | Flint | RecursiveSI/flint | 40B | 2.5B | 4-bit | Ollama | M5 Pro Mac mini | 64 | long coding runs | max_reasoning_tokens_before_code | 20000+ | tokens | https://x.com/pratikg/status/2113087627503256038 |
2026-10-26 | Nemotron 3.5 Bolt E4B | mlx-community/NVIDIA-Nemotron-3.5-Bolt-E4B-OptiQ-4bit | 8B | 4B (effective) | OptiQ mixed 4/8-bit | MLX (stock mlx-lm) | M5 Pro Mac mini | 64 | speed at 512 context (temp 0, thinking on) | decode_speed | 63.0 | tok/s | https://x.com/pratikg/status/2115098145235599479 |
2026-10-26 | Nemotron 3.5 Bolt E4B | mlx-community/NVIDIA-Nemotron-3.5-Bolt-E4B-OptiQ-4bit | 8B | 4B (effective) | OptiQ mixed 4/8-bit | MLX (stock mlx-lm) | M5 Pro Mac mini | 64 | speed at 4k context (temp 0, thinking on) | decode_speed | 63.8 | tok/s | https://x.com/pratikg/status/2115098145235599479 |
2026-10-26 | Nemotron 3.5 Bolt E4B | mlx-community/NVIDIA-Nemotron-3.5-Bolt-E4B-OptiQ-4bit | 8B | 4B (effective) | OptiQ mixed 4/8-bit | MLX (stock mlx-lm) | M5 Pro Mac mini | 64 | speed at 16k context (temp 0, thinking on) | decode_speed | 56.1 | tok/s | https://x.com/pratikg/status/2115098145235599479 |
2026-10-26 | Nemotron 3.5 Bolt E4B | mlx-community/NVIDIA-Nemotron-3.5-Bolt-E4B-OptiQ-4bit | 8B | 4B (effective) | OptiQ mixed 4/8-bit | MLX (stock mlx-lm) | M5 Pro Mac mini | 64 | speed at 32k context (temp 0, thinking on) | decode_speed | 48.2 | tok/s | https://x.com/pratikg/status/2115098145235599479 |
2026-10-26 | Nemotron 3.5 Bolt E4B | mlx-community/NVIDIA-Nemotron-3.5-Bolt-E4B-OptiQ-4bit | 8B | 4B (effective) | OptiQ mixed 4/8-bit | MLX (stock mlx-lm) | M5 Pro Mac mini | 64 | speed at 512 context (temp 0, thinking on) | time_to_first_token | 0.14 | s | https://x.com/pratikg/status/2115098145235599479 |
2026-10-26 | Nemotron 3.5 Bolt E4B | mlx-community/NVIDIA-Nemotron-3.5-Bolt-E4B-OptiQ-4bit | 8B | 4B (effective) | OptiQ mixed 4/8-bit | MLX (stock mlx-lm) | M5 Pro Mac mini | 64 | speed at 4k context (temp 0, thinking on) | time_to_first_token | 0.93 | s | https://x.com/pratikg/status/2115098145235599479 |
2026-10-26 | Nemotron 3.5 Bolt E4B | mlx-community/NVIDIA-Nemotron-3.5-Bolt-E4B-OptiQ-4bit | 8B | 4B (effective) | OptiQ mixed 4/8-bit | MLX (stock mlx-lm) | M5 Pro Mac mini | 64 | speed at 16k context (temp 0, thinking on) | time_to_first_token | 4.12 | s | https://x.com/pratikg/status/2115098145235599479 |
2026-10-26 | Nemotron 3.5 Bolt E4B | mlx-community/NVIDIA-Nemotron-3.5-Bolt-E4B-OptiQ-4bit | 8B | 4B (effective) | OptiQ mixed 4/8-bit | MLX (stock mlx-lm) | M5 Pro Mac mini | 64 | speed at 32k context (temp 0, thinking on) | time_to_first_token | 9.07 | s | https://x.com/pratikg/status/2115098145235599479 |
2026-10-26 | Nemotron 3.5 Bolt E4B | mlx-community/NVIDIA-Nemotron-3.5-Bolt-E4B-OptiQ-4bit | 8B | 4B (effective) | OptiQ mixed 4/8-bit | MLX (stock mlx-lm) | M5 Pro Mac mini | 64 | speed at 512 context (temp 0, thinking on) | mlx_peak_memory | 7.28 | GB | https://x.com/pratikg/status/2115098145235599479 |
2026-10-26 | Nemotron 3.5 Bolt E4B | mlx-community/NVIDIA-Nemotron-3.5-Bolt-E4B-OptiQ-4bit | 8B | 4B (effective) | OptiQ mixed 4/8-bit | MLX (stock mlx-lm) | M5 Pro Mac mini | 64 | speed at 4k context (temp 0, thinking on) | mlx_peak_memory | 7.50 | GB | https://x.com/pratikg/status/2115098145235599479 |
2026-10-26 | Nemotron 3.5 Bolt E4B | mlx-community/NVIDIA-Nemotron-3.5-Bolt-E4B-OptiQ-4bit | 8B | 4B (effective) | OptiQ mixed 4/8-bit | MLX (stock mlx-lm) | M5 Pro Mac mini | 64 | speed at 16k context (temp 0, thinking on) | mlx_peak_memory | 8.11 | GB | https://x.com/pratikg/status/2115098145235599479 |
2026-10-26 | Nemotron 3.5 Bolt E4B | mlx-community/NVIDIA-Nemotron-3.5-Bolt-E4B-OptiQ-4bit | 8B | 4B (effective) | OptiQ mixed 4/8-bit | MLX (stock mlx-lm) | M5 Pro Mac mini | 64 | speed at 32k context (temp 0, thinking on) | mlx_peak_memory | 8.92 | GB | https://x.com/pratikg/status/2115098145235599479 |
2026-10-26 | Nemotron 3.5 Bolt E4B | mlx-community/NVIDIA-Nemotron-3.5-Bolt-E4B-OptiQ-4bit | 8B | 4B (effective) | OptiQ mixed 4/8-bit | MLX (stock mlx-lm) | M5 Pro Mac mini | 64 | speed at 512 context (temp 0, thinking on) | prompt_processing_speed | 3642 | tok/s | https://x.com/pratikg/status/2115098145235599479 |
2026-10-26 | Nemotron 3.5 Bolt E4B | mlx-community/NVIDIA-Nemotron-3.5-Bolt-E4B-OptiQ-4bit | 8B | 4B (effective) | OptiQ mixed 4/8-bit | MLX (stock mlx-lm) | M5 Pro Mac mini | 64 | speed at 4k context (temp 0, thinking on) | prompt_processing_speed | 4446 | tok/s | https://x.com/pratikg/status/2115098145235599479 |
2026-10-26 | Nemotron 3.5 Bolt E4B | mlx-community/NVIDIA-Nemotron-3.5-Bolt-E4B-OptiQ-4bit | 8B | 4B (effective) | OptiQ mixed 4/8-bit | MLX (stock mlx-lm) | M5 Pro Mac mini | 64 | speed at 16k context (temp 0, thinking on) | prompt_processing_speed | 4007 | tok/s | https://x.com/pratikg/status/2115098145235599479 |
2026-10-26 | Nemotron 3.5 Bolt E4B | mlx-community/NVIDIA-Nemotron-3.5-Bolt-E4B-OptiQ-4bit | 8B | 4B (effective) | OptiQ mixed 4/8-bit | MLX (stock mlx-lm) | M5 Pro Mac mini | 64 | speed at 32k context (temp 0, thinking on) | prompt_processing_speed | 3632 | tok/s | https://x.com/pratikg/status/2115098145235599479 |
2026-10-26 | Nemotron 3.5 Bolt E4B | mlx-community/NVIDIA-Nemotron-3.5-Bolt-E4B-OptiQ-4bit | 8B | 4B (effective) | OptiQ mixed 4/8-bit | MLX (stock mlx-lm) | M5 Pro Mac mini | 64 | math suite (temp 0, thinking on) | math_correct | 20/20 | problems | https://x.com/pratikg/status/2115098145235599479 |
2026-10-26 | Nemotron 3.5 Bolt E4B | mlx-community/NVIDIA-Nemotron-3.5-Bolt-E4B-OptiQ-4bit | 8B | 4B (effective) | OptiQ mixed 4/8-bit | MLX (stock mlx-lm) | M5 Pro Mac mini | 64 | code suite (temp 0, thinking on) | code_correct | 10/10 | problems | https://x.com/pratikg/status/2115098145235599479 |
2026-10-26 | Nemotron 3.5 Bolt E4B | mlx-community/NVIDIA-Nemotron-3.5-Bolt-E4B-OptiQ-4bit | 8B | 4B (effective) | OptiQ mixed 4/8-bit | MLX (stock mlx-lm) | M5 Pro Mac mini | 64 | instruction following suite (temp 0, thinking on) | instruction_following_correct | 9/10 | prompts | https://x.com/pratikg/status/2115098145235599479 |
2026-10-26 | Nemotron 3.5 Bolt E4B | mlx-community/NVIDIA-Nemotron-3.5-Bolt-E4B-OptiQ-4bit | 8B | 4B (effective) | OptiQ mixed 4/8-bit | MLX (stock mlx-lm) | M5 Pro Mac mini | 64 | needle retrieval at 32k and 64k context (temp 0, thinking on) | needles_found | 8/8 | needles | https://x.com/pratikg/status/2115098145235599479 |
Mac mini local AI benchmarks
Real numbers from open-weight models running fully local on one machine: an M5 Pro Mac mini with 64GB of unified memory.
Every row is one measurement: model, quant, runtime, the test, and the result, with a link to the post where it was shared. New models get added as I test them.
Each model has its own tab (config) in the viewer, and the all tab puts every model in one table. Every file uses the same columns, so they stack cleanly.
What's in it so far
Flint
| Model | Quant | Runtime | Test | Result |
|---|---|---|---|---|
| Flint 40B-A2.5B | 4-bit | Ollama | Short coding prompt | 115 tok/s |
| Flint | 4-bit | Ollama | Read a 20K-token codebase | 11 s prefill, then 87 tok/s |
| Flint | 4-bit | Ollama | Add a feature to that codebase | 40/40 tests passed |
| Flint | 4-bit | Ollama | JSON parser from scratch | 13 failures in the first draft, all fixed in one round |
Nemotron 3.5 Bolt E4B
NVIDIA Nemotron 3.5 Bolt E4B, 8B total and 4B effective, OptiQ mixed 4/8-bit build on stock mlx-lm. Temp 0 with thinking on. Measured with the Launch Benchmarker Grok Bot.
| Context | Decode | Time to first token | Prompt processing | MLX peak memory |
|---|---|---|---|---|
| 512 | 63.0 tok/s | 0.14 s | 3,642 tok/s | 7.28 GB |
| 4k | 63.8 tok/s | 0.93 s | 4,446 tok/s | 7.50 GB |
| 16k | 56.1 tok/s | 4.12 s | 4,007 tok/s | 8.11 GB |
| 32k | 48.2 tok/s | 9.07 s | 3,632 tok/s | 8.92 GB |
| Quality test | Result |
|---|---|
| Math | 20/20 |
| Code | 10/10 |
| Instruction following | 9/10 |
| Needle retrieval (32k and 64k) | 8/8 |
How it's measured
flint_bench.py times any OpenAI-compatible local server (Ollama, etc.) with only the Python standard library. It reports time to first token, reasoning share, and decode tok/s, as the median of 3 runs.
The Nemotron rows come from the Launch Benchmarker Grok Bot. It runs the model with MLX on the Mac, times decode, prompt processing and time to first token at 512, 4k, 16k and 32k context (median of 3 runs), records MLX's own peak memory number, and runs a fixed small suite of math, code, instruction following and needle-in-a-haystack tests. Paste in any new open-weight model and it does the same run on your own Mac.
Coming next
More launch-day models as they drop, each in its own tab, plus the 11 models from my weekend run on the same Mac.
By @pratikg.
Write-up on GitHub
How I ran this, what broke, and the scripts: Flint on my Mac mini and NVIDIA Nemotron 3.5 Bolt E4B on my Mac mini. It's part of Local AI field notes, where I log every model I run on my Mac mini.
- Downloads last month
- 250