Honest AI benchmarks on the Mac mini
Local language models, measured the same way on the same machine: quality over 13 tracks (cybersecurity, daily use, coding, Dutch and more), speed, memory and what happens when several agents share one server.
The short version
Profile per track
Score from 0 to 1 per track: mean over seeds, with the range between seeds underneath. There is no single winner: look at the tracks that matter to you. The average is for sorting only. Click a column heading to sort. Run-to-run noise in this run reaches 0.40: differences smaller than that are not meaningful. ⚠n means n answers were cut off by the token limit.
| # | Model | Average | Cybersecurity | Daily use | Coding | Dutch | Tools and JSON | Honesty and safety | Reasoning and maths | Long context | Hard mixed | Standard topics | Pentesting | Triage under noise | Secure dev & ops | Speed (tok/s) | Memory |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | qwen3.8 27BQwen | 0.940.94–0.95 | 0.920.92–0.92 | 1.001.00–1.00 | 0.920.92–0.92 | 0.890.83–0.92 | 1.001.00–1.00 | 0.97 ⚠10.92–1.00 | 1.001.00–1.00 | 0.940.93–0.97 | 0.96 ⚠20.96–0.96 | 0.940.93–0.95 | 0.850.85–0.85 | 0.98 ⚠30.93–1.00 | 16 | 16.46 GB | |
| 2 | gemma4 12BGemma | 0.950.95–0.95 | 1.001.00–1.00 | 0.940.94–0.94 | 0.960.96–0.96 | 1.001.00–1.00 | 0.920.92–0.92 | 1.001.00–1.00 | 1.001.00–1.00 | 0.94 ⚠20.93–0.95 | 0.94 ⚠40.94–0.94 | 0.960.96–0.96 | 0.720.70–0.75 | 0.88 ⚠30.87–0.90 | 35 | 7.75 GB | |
| 3 | qwen3.5 9BQwen | 0.950.93–0.95 | 0.920.92–0.92 | 1.001.00–1.00 | 0.790.79–0.79 | 1.001.00–1.00 | 0.850.79–0.92 | 1.001.00–1.00 | 1.001.00–1.00 | 0.880.88–0.88 | 0.96 ⚠10.96–0.96 | 0.930.91–0.96 | 0.680.65–0.70 | 0.90 ⚠30.87–0.93 | 36 | 7.74 GB | |
| 4 | gpt-oss 20Bgpt-oss | 0.890.87–0.91 | 0.990.99–0.99 | 1.001.00–1.00 | 0.90 ⚠10.85–0.92 | 1.001.00–1.00 | 0.720.58–0.83 | 1.001.00–1.00 | 1.001.00–1.00 | 0.970.95–1.00 | 0.930.92–0.94 | 0.84 ⚠10.82–0.85 | 0.730.70–0.80 | 0.87 ⚠10.87–0.87 | 39 | 12.85 GB | |
| 5 | Mistral Small 24BMistral | 0.850.84–0.87 | 0.980.96–1.00 | 0.870.85–0.90 | 0.960.96–0.96 | 1.001.00–1.00 | 0.860.83–0.92 | 1.001.00–1.00 | 1.001.00–1.00 | 0.820.79–0.89 | 1.001.00–1.00 | 0.930.93–0.94 | 0.670.65–0.70 | 0.82 ⚠30.77–0.87 | 10 | 14.36 GB | |
| 6 | phi4 14BPhi | 0.850.84–0.86 | 0.990.96–1.00 | 1.001.00–1.00 | 0.950.93–0.96 | 1.001.00–1.00 | 0.750.75–0.75 | 0.920.92–0.92 | 1.001.00–1.00 | 0.84 ⚠20.82–0.88 | 0.920.92–0.92 | 0.84 ⚠10.81–0.87 | 0.800.80–0.80 | 0.86 ⚠30.83–0.87 | 16 | 9.55 GB | |
| 7 | gemma3 12BGemma | 0.800.79–0.81 | 0.920.92–0.92 | 1.001.00–1.00 | 0.830.83–0.83 | 1.001.00–1.00 | 0.750.75–0.75 | 1.001.00–1.00 | 1.001.00–1.00 | 0.920.92–0.92 | 0.920.92–0.92 | 0.960.96–0.96 | 0.650.65–0.65 | 0.79 ⚠30.77–0.83 | 19 | 7.22 GB | |
| 8 | qwen2.5-coder 14BQwen | 0.840.80–0.87 | 0.980.96–1.00 | 1.001.00–1.00 | 0.860.85–0.88 | 1.001.00–1.00 | 0.780.67–0.83 | 0.940.92–1.00 | 1.001.00–1.00 | 0.870.86–0.89 | 0.910.90–0.92 | 0.840.82–0.85 | 0.670.65–0.70 | 0.81 ⚠30.80–0.83 | 17 | 9.67 GB | |
| 9 | granite4Granite | 0.760.73–0.78 | 0.970.92–1.00 | 0.900.85–0.93 | 0.880.88–0.88 | 1.001.00–1.00 | 0.750.75–0.75 | 1.001.00–1.00 | 1.001.00–1.00 | 0.840.79–0.89 | 0.920.90–0.94 | 0.890.85–0.93 | 0.680.65–0.70 | 0.770.70–0.83 | 62 | — | |
| 10 | Llama 3.1 8BLlama | 0.760.75–0.77 | 0.940.92–0.96 | 0.930.85–1.00 | 0.870.85–0.88 | 0.970.97–0.97 | 0.920.92–0.92 | 1.001.00–1.00 | 1.001.00–1.00 | 0.76 ⚠20.74–0.77 | 0.900.88–0.92 | 0.82 ⚠10.79–0.85 | 0.670.65–0.70 | 0.79 ⚠20.70–0.83 | 30 | 5.45 GB | |
| 11 | qwen3 8BQwen | 0.840.83–0.85 | 0.880.88–0.88 | 0.950.95–0.95 | 0.890.88–0.92 | 1.001.00–1.00 | 0.690.67–0.75 | 1.001.00–1.00 | 1.001.00–1.00 | 0.710.67–0.77 | 0.920.90–0.94 | 0.820.82–0.82 | 0.650.65–0.65 | 0.73 ⚠30.73–0.73 | 28 | 5.24 GB | |
| 12 | DeepHat V1 7BQwen 2.5 Coder (security-tuned) | 0.78 ⚠10.73–0.81 | 0.920.92–0.92 | 0.980.95–1.00 | 0.870.85–0.89 | 1.001.00–1.00 | 0.500.38–0.67 | 1.00 ⚠131.00–1.00 | 1.001.00–1.00 | 0.79 ⚠40.77–0.82 | 0.830.79–0.87 | 0.89 ⚠20.85–0.93 | 0.650.65–0.65 | 0.81 ⚠30.77–0.87 | 32 | 4.48 GB | |
| 13 | deepseek-r1 14BDeepSeek R1 distill | 0.740.70–0.80 | 0.890.88–0.92 | 0.88 ⚠40.85–0.90 | 0.870.75–0.94 | 1.001.00–1.00 | 0.640.58–0.75 | 1.001.00–1.00 | 1.001.00–1.00 | 0.82 ⚠20.80–0.84 | 0.920.90–0.94 | 0.840.79–0.89 | 0.680.60–0.75 | 0.69 ⚠30.67–0.73 | 16 | 9.03 GB | |
| 14 | GLM-4 9BGLM | 0.680.62–0.71 | 0.910.90–0.92 | 0.930.93–0.95 | 0.820.79–0.83 | 0.970.97–0.97 | 0.860.75–0.92 | 0.920.92–0.92 | 1.001.00–1.00 | 0.780.77–0.81 | 0.870.85–0.88 | 0.770.76–0.78 | 0.580.55–0.60 | 0.740.72–0.76 | 27 | 5.53 GB | |
| 15 | gemma3 4BGemma | 0.660.66–0.67 | 0.740.74–0.74 | 0.870.82–0.95 | 0.920.92–0.92 | 1.001.00–1.00 | 0.580.58–0.58 | 1.00 ⚠21.00–1.00 | 1.001.00–1.00 | 0.82 ⚠30.79–0.84 | 0.90 ⚠20.88–0.92 | 0.980.97–0.99 | 0.550.55–0.55 | 0.78 ⚠30.73–0.80 | 51 | 2.38 GB | |
| 16 | Command R 35BCommand R (Cohere) | 0.830.81–0.87 | 0.890.83–0.92 | 0.910.84–1.00 | 0.930.92–0.96 | 1.001.00–1.00 | 0.750.75–0.75 | 0.780.67–0.92 | 1.001.00–1.00 | 0.530.45–0.59 | 0.880.88–0.88 | 0.900.88–0.94 | 0.670.65–0.70 | 0.71 ⚠20.67–0.73 | 8 | 20.05 GB | |
| 17 | Hermes 3 8BHermes (Nous Research, Llama 3.1-based) | 0.740.72–0.75 | 1.001.00–1.00 | 0.820.82–0.82 | 0.860.85–0.88 | 0.970.97–0.97 | 0.670.58–0.75 | 0.970.92–1.00 | 1.001.00–1.00 | 0.710.67–0.74 | 0.840.83–0.85 | 0.800.76–0.85 | 0.520.50–0.55 | 0.81 ⚠30.77–0.87 | 32 | 5.19 GB | |
| 18 | WhiteRabbitNeo 2.5 (Qwen) 7BQwen 2.5 Coder (security-tuned) | 0.840.81–0.87 | 0.960.96–0.96 | 1.000.99–1.00 | 0.780.75–0.83 | 1.001.00–1.00 | 0.610.50–0.67 | 0.890.83–1.00 | 1.001.00–1.00 | 0.76 ⚠10.74–0.78 | 0.860.83–0.88 | 0.83 ⚠10.80–0.87 | 0.330.30–0.35 | 0.710.67–0.77 | 32 | 4.93 GB | |
| 19 | codestral 22BMistral | 0.840.81–0.88 | 0.880.88–0.88 | 0.920.90–0.95 | 0.790.75–0.82 | 1.001.00–1.00 | 0.720.67–0.75 | 0.690.67–0.75 | 1.001.00–1.00 | 0.63 ⚠20.56–0.74 | 0.84 ⚠10.83–0.85 | 0.82 ⚠40.81–0.84 | 0.580.55–0.60 | 0.79 ⚠120.77–0.83 | 11 | 13.77 GB | |
| 20 | Llama 3.2 3BLlama | 0.680.64–0.70 | 0.950.92–1.00 | 0.900.90–0.90 | 0.820.79–0.88 | 0.970.97–0.97 | 0.920.83–0.96 | 0.920.92–0.92 | 1.001.00–1.00 | 0.700.67–0.71 | 0.850.85–0.85 | 0.760.75–0.78 | 0.180.05–0.45 | 0.69 ⚠10.66–0.72 | 65 | 2.68 GB | |
| 21 | Yi 9BYi | 0.710.63–0.76 | 0.890.88–0.90 | 0.840.75–0.90 | 0.670.61–0.69 | 0.970.97–0.97 | 0.780.75–0.83 | 1.001.00–1.00 | 0.500.50–0.50 | 0.810.74–0.89 | 0.870.87–0.88 | 0.810.78–0.83 | 0.620.55–0.65 | 0.73 ⚠30.68–0.81 | 28 | 5.21 GB | |
| 22 | Nous Hermes 2 11BHermes (Nous Research, Solar-based) | 0.720.64–0.77 | 0.860.83–0.92 | 0.600.58–0.63 | 0.790.76–0.81 | 0.970.97–0.97 | 0.83 ⚠60.83–0.83 | 0.640.50–0.75 | 0.500.50–0.50 | 0.520.47–0.58 | 0.910.87–0.95 | 0.89 ⚠50.88–0.90 | 0.680.65–0.70 | 0.80 ⚠10.77–0.82 | 23 | 6.55 GB | |
| 23 | Zephyr 7BZephyr (Mistral-based) | 0.71 ⚠120.69–0.72 | 0.900.89–0.93 | 0.34 ⚠20.33–0.36 | 0.71 ⚠10.67–0.76 | 0.89 ⚠30.81–0.97 | 0.57 ⚠30.50–0.67 | 0.670.50–0.83 | 0.67 ⚠50.67–0.67 | 0.18 ⚠50.15–0.23 | 0.82 ⚠40.81–0.83 | 0.75 ⚠50.71–0.79 | 0.380.25–0.55 | 0.74 ⚠50.72–0.77 | 34 | 4.87 GB | |
| 24 | WhiteRabbitNeo 13B (Llama 2)Llama 2 (security-tuned) | 0.78 ⚠370.70–0.84 | 0.47 ⚠130.31–0.64 | 0.890.83–0.95 | 0.84 ⚠290.82–0.85 | 0.86 ⚠50.75–0.92 | 0.56 ⚠270.50–0.58 | 0.31 ⚠10.17–0.42 | 1.00 ⚠161.00–1.00 | 0.28 ⚠170.21–0.36 | 0.58 ⚠340.56–0.60 | 0.72 ⚠620.68–0.75 | 0.53 ⚠20.50–0.60 | 0.52 ⚠330.50–0.56 | 18 | — | |
| 25 | WhiteRabbitNeo (Llama 3) 8BLlama 3 (security-tuned) | 0.78 ⚠60.70–0.82 | 0.64 ⚠50.60–0.71 | 0.79 ⚠10.72–0.89 | 0.84 ⚠90.78–0.93 | 0.68 ⚠40.62–0.72 | 0.50 ⚠170.42–0.58 | 0.580.58–0.58 | 0.72 ⚠80.50–0.83 | 0.36 ⚠170.27–0.47 | 0.75 ⚠180.69–0.81 | 0.70 ⚠260.69–0.71 | 0.23 ⚠20.15–0.30 | 0.66 ⚠240.63–0.70 | 30 | 5.45 GB | |
| 26 | Vicuna 7BVicuna (Llama 2-based) | 0.570.54–0.61 | 0.920.86–0.96 | 0.600.56–0.67 | 0.67 ⚠10.66–0.69 | 0.780.72–0.89 | 0.75 ⚠20.67–0.83 | 0.25 ⚠40.17–0.33 | 0.44 ⚠20.33–0.50 | 0.17 ⚠20.17–0.18 | 0.690.62–0.73 | 0.68 ⚠40.63–0.75 | 0.420.40–0.45 | 0.50 ⚠20.42–0.56 | 36 | 5.04 GB | |
| 27 | Foundation-Sec 8BLlama 3.1 (security-tuned, Cisco) | 0.49 ⚠660.45–0.58 | 0.38 ⚠360.29–0.47 | 0.12 ⚠300.07–0.20 | 0.50 ⚠360.44–0.54 | 0.00 ⚠360.00–0.00 | 0.50 ⚠360.42–0.58 | 0.11 ⚠360.00–0.33 | 0.11 ⚠180.00–0.33 | 0.06 ⚠600.05–0.07 | 0.47 ⚠520.46–0.48 | 0.57 ⚠680.49–0.65 | 0.02 ⚠300.00–0.05 | 0.42 ⚠450.40–0.47 | 31 | 5.02 GB |
Quality against speed
Top left is what you want: a high score and fast writing. Hover a dot for the numbers.
Speed and memory
Counters reported by Ollama; median of 3 rounds, model freshly loaded, context 8192. Reading = a log of about 3,000 tokens; generating = 256 tokens.
| Model | Cold load | Reading (tok/s) | First token after long prompt | Generating (tok/s) | Memory |
|---|---|---|---|---|---|
| Llama 3.2 3B | 0.8 s | 1771 | 1.32 s | 2.68 GB | |
| granite4 | 0.8 s | 1513 | 1.53 s | — | |
| gemma3 4B | 1.1 s | 1613 | 2.02 s | 2.38 GB | |
| gpt-oss 20B | 4.9 s | 1089 | 2.18 s | 12.85 GB | |
| qwen3.5 9B | 1.7 s | 909 | 3.53 s | 7.74 GB | |
| Vicuna 7B | 1.8 s | 822 | 4.0 s | 5.04 GB | |
| gemma4 12B | 1.7 s | 569 | 5.74 s | 7.75 GB | |
| Zephyr 7B | 1.8 s | 634 | 5.44 s | 4.87 GB | |
| WhiteRabbitNeo 2.5 (Qwen) 7B | 1.6 s | 692 | 4.61 s | 4.93 GB | |
| DeepHat V1 7B | 0.5 s | 686 | 4.65 s | 4.48 GB | |
| Hermes 3 8B | 2.3 s | 646 | 3.59 s | 5.19 GB | |
| Foundation-Sec 8B | 1.8 s | 606 | 3.81 s | 5.02 GB | |
| Llama 3.1 8B | 2.1 s | 605 | 3.83 s | 5.45 GB | |
| WhiteRabbitNeo (Llama 3) 8B | 1.8 s | 609 | 3.81 s | 5.45 GB | |
| qwen3 8B | 0.8 s | 647 | 4.95 s | 5.24 GB | |
| Yi 9B | 2.1 s | 628 | 5.2 s | 5.21 GB | |
| GLM-4 9B | 2.3 s | 670 | 3.54 s | 5.53 GB | |
| Nous Hermes 2 11B | 2.3 s | 514 | 6.82 s | 6.55 GB | |
| gemma3 12B | 3.3 s | 482 | 6.76 s | 7.22 GB | |
| WhiteRabbitNeo 13B (Llama 2) | 2.8 s | 343 | 9.5 s | — | |
| qwen2.5-coder 14B | 3.1 s | 313 | 10.27 s | 9.67 GB | |
| phi4 14B | 2.8 s | 332 | 6.99 s | 9.55 GB | |
| deepseek-r1 14B | 3.1 s | 334 | 9.55 s | 9.03 GB | |
| qwen3.8 27B | 6.4 s | 173 | 18.51 s | 16.46 GB | |
| codestral 22B | 4.3 s | 220 | 15.63 s | 13.77 GB | |
| Mistral Small 24B | 1.8 s | 244 | 13.99 s | 14.36 GB | |
| Command R 35B | 5.6 s | 128 | 25.12 s | 20.05 GB |
Several agents at once
What happens when five agents talk to the same Ollama server. The server setting decides: one slot makes them queue, several slots cost memory but share the work.
- 5.7 tok/s per agent, all done in 20.9 s
- Memory: 5.24 GB with one request, 5.24 GB with all agents
- default server setting (OLLAMA_NUM_PARALLEL not set)
- 20.0 tok/s per agent, all done in 6.0 s
- Memory: 8.04 GB with one request, 8.04 GB with all agents
- OLLAMA_NUM_PARALLEL=5, flash attention, q8_0 KV cache
- 7.3 tok/s per agent, all done in 16.4 s
- Memory: 7.68 GB with one request, 7.71 GB with all agents
- OLLAMA_NUM_PARALLEL=5, flash attention, q8_0 KV cache
Profiles
Show a radar chart per model
Limitations
- Small task sets per track and automatic scoring on keywords, numbers, JSON and executed code; a human check of a sample is planned.
- One machine, one quantisation per model, English prompts except the Dutch track.
- Model-written code is executed on the benchmark machine.