Apple Silicon
Results as tablesRelease main-f03640150, as of 2026-11-13
A snapshot taken when this site was last built. The charts above read live data and may be newer. The same tables as markdown.
| Machine | Model | Setup | Engines (tok/s) |
|---|---|---|---|
| M5 Max 128 GB | Gemma-4-E2B | Single decode | Pie 205 · MLX 185 · llama.cpp 166 |
| M5 Max 128 GB | Gemma-4-E2B | Single prefill | Pie 21,112 · MLX 16,192 · llama.cpp 4,806 |
| M5 Max 128 GB | Gemma-4-E2B | Batched decode | Pie 2,020 · llama.cpp 689 · MLX 185 |
| M5 Max 128 GB | Gemma-4-E2B | Batched prefill | Pie 27,717 · MLX 17,219 · llama.cpp 7,172 |
| M5 Max 128 GB | Gemma-4-E4B | Single decode | Pie 127 · MLX 120 · llama.cpp 107 |
| M5 Max 128 GB | Gemma-4-E4B | Single prefill | Pie 7,539 · MLX 6,528 · llama.cpp 2,919 |
| M5 Max 128 GB | Gemma-4-E4B | Batched decode | Pie 1,317 · llama.cpp 459 · MLX 116 |
| M5 Max 128 GB | Gemma-4-E4B | Batched prefill | Pie 9,167 · MLX 6,833 · llama.cpp 4,172 |
| M5 Max 128 GB | Gemma-4-12B | Single decode | Pie 66.3 · MLX 61 · llama.cpp 57.4 |
| M5 Max 128 GB | Gemma-4-12B | Single prefill | Pie 1,933 · MLX 1,838 · llama.cpp 1,153 |
| M5 Max 128 GB | Gemma-4-12B | Batched decode | Pie 521 · llama.cpp 238 · MLX 54.8 |
| M5 Max 128 GB | Gemma-4-12B | Batched prefill | MLX 1,750 · Pie 1,729 · llama.cpp 1,525 |
| M5 Max 128 GB | Qwen3.6-27B | Single decode | Pie 33.4 · MLX 31.8 · llama.cpp 27 |
| M5 Max 128 GB | Qwen3.6-27B | Single prefill | Pie 900 · MLX 857 · llama.cpp 529 |
| M5 Max 128 GB | Qwen3.6-27B | Batched decode | Pie 234 · llama.cpp 97.1 · MLX 29 |
| M5 Max 128 GB | Qwen3.6-27B | Batched prefill | MLX 772 · Pie 761 · llama.cpp 575 |
| M5 Max 128 GB | GPT-OSS-20B | Single decode | Pie 184 · llama.cpp 151 · MLX 149 |
| M5 Max 128 GB | GPT-OSS-20B | Single prefill | Pie 6,092 · MLX 5,024 · llama.cpp 3,036 |
| M5 Max 128 GB | GPT-OSS-20B | Batched decode | Pie 648 · llama.cpp 532 · MLX 134 |
| M5 Max 128 GB | GPT-OSS-20B | Batched prefill | Pie 6,425 · MLX 4,939 · llama.cpp 3,726 |
| M5 Max 128 GB | GPT-OSS-120B | Single decode | Pie 122 · llama.cpp 106 · MLX 97.5 |
| M5 Max 128 GB | GPT-OSS-120B | Single prefill | MLX 2,367 · llama.cpp 1,530 · Pie 1,234 |
| M5 Max 128 GB | GPT-OSS-120B | Batched decode | llama.cpp 250 · Pie 227 · MLX 83 |
| M5 Max 128 GB | GPT-OSS-120B | Batched prefill | Pie 2,700 · llama.cpp 1,928 |
| M5 Max 128 GB | Qwen3.6-35B | Single decode | Pie 166 · MLX 130 · llama.cpp 105 |
| M5 Max 128 GB | Qwen3.6-35B | Single prefill | Pie 4,292 · MLX 4,056 · llama.cpp 2,422 |
| M5 Max 128 GB | Qwen3.6-35B | Batched decode | Pie 735 · llama.cpp 367 · MLX 119 |
| M5 Max 128 GB | Qwen3.6-35B | Batched prefill | Pie 6,587 · llama.cpp 2,800 |
| M5 Max 128 GB | Qwen3.8-Flash-Next-125B | Single decode | Pie 75 · llama.cpp 63 · MLX 60.7 |
| M5 Max 128 GB | Qwen3.8-Flash-Next-125B | Single prefill | MLX 1,221 · Pie 1,054 · llama.cpp 966 |
| M5 Max 128 GB | Qwen3.8-Flash-Next-125B | Batched decode | Pie 269 · MLX 94 · llama.cpp 77.6 |
| M5 Max 128 GB | Qwen3.8-Flash-Next-125B | Batched prefill | Pie 1,294 · MLX 1,101 |
| M5 Max 128 GB | Muse-Glimmer-30B | Single decode | Pie 32.6 · llama.cpp 29.4 |
| M5 Max 128 GB | Muse-Glimmer-30B | Single prefill | Pie 903 · llama.cpp 541 |
| M5 Max 128 GB | Muse-Glimmer-30B | Batched decode | Pie 274 · llama.cpp 120 |
| M5 Max 128 GB | Muse-Glimmer-30B | Batched prefill | Pie 769 · llama.cpp 701 |
| M5 Max 128 GB | Gemma-4-26B | Single decode | Pie 143 · MLX 119 · llama.cpp 98.1 |
| M5 Max 128 GB | Gemma-4-26B | Single prefill | Pie 4,347 · MLX 4,008 · llama.cpp 2,399 |
| M5 Max 128 GB | Gemma-4-26B | Batched decode | Pie 806 · llama.cpp 456 · MLX 113 |
| M5 Max 128 GB | Gemma-4-26B | Batched prefill | Pie 5,647 · MLX 3,986 · llama.cpp 3,479 |
| M5 Max 128 GB | Gemma-4-31B | Single decode | Pie 27 · MLX 26.5 · llama.cpp 24.6 |
| M5 Max 128 GB | Gemma-4-31B | Single prefill | Pie 718 · MLX 637 · llama.cpp 443 |
| M5 Max 128 GB | Gemma-4-31B | Batched decode | Pie 184 · llama.cpp 97 · MLX 21.2 |
| M5 Max 128 GB | Gemma-4-31B | Batched prefill | MLX 635 · Pie 587 · llama.cpp 558 |
| M5 Max 128 GB | Qwen3.8-27B | Single decode | Pie 32.8 · MLX 31.9 · llama.cpp 27.2 |
| M5 Max 128 GB | Qwen3.8-27B | Single prefill | Pie 862 · MLX 856 · llama.cpp 536 |
| M5 Max 128 GB | Qwen3.8-27B | Batched decode | Pie 228 · llama.cpp 97.4 · MLX 28.7 |
| M5 Max 128 GB | Qwen3.8-27B | Batched prefill | MLX 774 · Pie 727 · llama.cpp 572 |
| M5 Max 128 GB | Qwen3.5-4B | Single decode | Pie 167 · MLX 152 · llama.cpp 128 |
| M5 Max 128 GB | Qwen3.5-4B | Single prefill | Pie 4,932 · MLX 4,908 · llama.cpp 2,997 |
| M5 Max 128 GB | Qwen3.5-4B | Batched decode | Pie 1,166 · llama.cpp 407 · MLX 142 |
| M5 Max 128 GB | Qwen3.5-4B | Batched prefill | Pie 5,536 · MLX 4,993 · llama.cpp 3,165 |
| M5 Max 128 GB | Qwen3.5-9B | Single decode | Pie 101 · MLX 96.4 · llama.cpp 82.8 |
| M5 Max 128 GB | Qwen3.5-9B | Single prefill | Pie 2,968 · MLX 2,938 · llama.cpp 1,808 |
| M5 Max 128 GB | Qwen3.5-9B | Batched decode | Pie 800 · llama.cpp 300 · MLX 88 |
| M5 Max 128 GB | Qwen3.5-9B | Batched prefill | MLX 2,866 · Pie 2,852 · llama.cpp 1,984 |
| M5 Max 64 GB | Qwen3.5-0.8B | Single decode | vLLM Metal 266 |
| M5 Max 64 GB | Qwen3.5-0.8B | Single prefill | vLLM Metal 19,134 |
| M5 Max 64 GB | Qwen3.5-0.8B | Batched decode | vLLM Metal 3,606 |
| M5 Max 64 GB | Qwen3.5-0.8B | Batched prefill | vLLM Metal 29,554 |
| M5 Max 64 GB | Gemma-4-E2B | Single decode | Pie 201 · vLLM Metal 189 · MLX 184 · llama.cpp 167 |
| M5 Max 64 GB | Gemma-4-E2B | Single prefill | Pie 21,434 · MLX 16,147 · vLLM Metal 16,112 · llama.cpp 4,801 |
| M5 Max 64 GB | Gemma-4-E2B | Batched decode | vLLM Metal 1,968 · Pie 1,939 · llama.cpp 706 · MLX 182 |
| M5 Max 64 GB | Gemma-4-E2B | Batched prefill | Pie 31,421 · vLLM Metal 29,520 · MLX 17,139 · llama.cpp 7,217 |
| M5 Max 64 GB | Gemma-4-E4B | Single decode | Pie 129 · MLX 120 · vLLM Metal 118 · llama.cpp 105 |
| M5 Max 64 GB | Gemma-4-E4B | Single prefill | Pie 7,636 · vLLM Metal 6,660 · MLX 6,565 · llama.cpp 2,832 |
| M5 Max 64 GB | Gemma-4-E4B | Batched decode | Pie 1,272 · vLLM Metal 1,088 · llama.cpp 467 · MLX 111 |
| M5 Max 64 GB | Gemma-4-E4B | Batched prefill | vLLM Metal 9,153 · Pie 8,473 · MLX 6,676 · llama.cpp 3,901 |
| M5 Max 64 GB | Gemma-4-12B | Single decode | Pie 65.2 · MLX 57.3 · vLLM Metal 55.8 · llama.cpp 52.2 |
| M5 Max 64 GB | Gemma-4-12B | Single prefill | vLLM Metal 1,632 · MLX 1,627 · Pie 1,555 · llama.cpp 988 |
| M5 Max 64 GB | Gemma-4-12B | Batched decode | Pie 473 · vLLM Metal 373 · llama.cpp 226 · MLX 47 |
| M5 Max 64 GB | Gemma-4-12B | Batched prefill | vLLM Metal 1,800 · MLX 1,596 · Pie 1,564 · llama.cpp 1,419 |
| M5 Max 64 GB | Qwen3.6-27B | Single decode | Pie 33.6 · vLLM Metal 33 · MLX 32 · llama.cpp 25.3 |
| M5 Max 64 GB | Qwen3.6-27B | Single prefill | Pie 849 · vLLM Metal 823 · MLX 781 · llama.cpp 454 |
| M5 Max 64 GB | Qwen3.6-27B | Batched decode | Pie 220 · vLLM Metal 169 · llama.cpp 92.4 · MLX 24.4 |
| M5 Max 64 GB | Qwen3.6-27B | Batched prefill | vLLM Metal 807 · MLX 714 · Pie 689 · llama.cpp 538 |
| M5 Max 64 GB | GPT-OSS-20B | Single decode | Pie 184 · vLLM Metal 158 · llama.cpp 148 · MLX 148 |
| M5 Max 64 GB | GPT-OSS-20B | Single prefill | Pie 6,052 · MLX 4,911 · vLLM Metal 4,714 · llama.cpp 2,909 |
| M5 Max 64 GB | GPT-OSS-20B | Batched decode | vLLM Metal 736 · Pie 597 · llama.cpp 497 · MLX 129 |
| M5 Max 64 GB | GPT-OSS-20B | Batched prefill | Pie 6,116 · vLLM Metal 6,008 · MLX 4,538 · llama.cpp 3,429 |
| M5 Max 64 GB | Qwen3.6-35B | Single decode | Pie 168 · MLX 130 · vLLM Metal 122 · llama.cpp 104 |
| M5 Max 64 GB | Qwen3.6-35B | Single prefill | Pie 4,535 · MLX 4,072 · vLLM Metal 3,933 · llama.cpp 2,333 |
| M5 Max 64 GB | Qwen3.6-35B | Batched decode | Pie 688 · vLLM Metal 592 · llama.cpp 340 · MLX 121 |
| M5 Max 64 GB | Qwen3.6-35B | Batched prefill | Pie 6,189 · vLLM Metal 5,678 · MLX 3,880 · llama.cpp 2,591 |
| M5 Max 64 GB | Muse-Glimmer-30B | Single decode | Pie 33.2 · vLLM Metal 32.4 · llama.cpp 28 |
| M5 Max 64 GB | Muse-Glimmer-30B | Single prefill | Pie 911 · vLLM Metal 759 · llama.cpp 465 |
| M5 Max 64 GB | Muse-Glimmer-30B | Batched decode | Pie 249 · vLLM Metal 187 · llama.cpp 115 |
| M5 Max 64 GB | Muse-Glimmer-30B | Batched prefill | vLLM Metal 811 · Pie 688 · llama.cpp 653 |
| M5 Max 64 GB | Gemma-4-26B | Single decode | Pie 144 · vLLM Metal 119 · MLX 118 · llama.cpp 98 |
| M5 Max 64 GB | Gemma-4-26B | Single prefill | Pie 4,329 · vLLM Metal 4,114 · MLX 3,972 · llama.cpp 2,343 |
| M5 Max 64 GB | Gemma-4-26B | Batched decode | Pie 753 · vLLM Metal 482 · llama.cpp 417 · MLX 108 |
| M5 Max 64 GB | Gemma-4-26B | Batched prefill | vLLM Metal 5,357 · Pie 5,304 · MLX 3,717 · llama.cpp 3,163 |
| M5 Max 64 GB | Gemma-4-31B | Single decode | Pie 27.3 · MLX 24.8 · vLLM Metal 24.6 · llama.cpp 23 |
| M5 Max 64 GB | Gemma-4-31B | Single prefill | vLLM Metal 513 · MLX 510 · Pie 447 · llama.cpp 381 |
| M5 Max 64 GB | Gemma-4-31B | Batched decode | Pie 183 · vLLM Metal 140 · llama.cpp 67 · MLX 19.4 |
| M5 Max 64 GB | Gemma-4-31B | Batched prefill | MLX 617 · Pie 570 · vLLM Metal 528 |
| M5 Max 64 GB | Qwen3.8-27B | Single decode | Pie 33.6 · vLLM Metal 33 · MLX 32 · llama.cpp 25.7 |
| M5 Max 64 GB | Qwen3.8-27B | Single prefill | Pie 850 · vLLM Metal 779 · MLX 690 · llama.cpp 457 |
| M5 Max 64 GB | Qwen3.8-27B | Batched decode | Pie 220 · vLLM Metal 169 · llama.cpp 92.4 · MLX 24.6 |
| M5 Max 64 GB | Qwen3.8-27B | Batched prefill | vLLM Metal 807 · MLX 713 · Pie 687 · llama.cpp 538 |
| M5 Max 64 GB | Qwen3.5-4B | Single decode | Pie 166 · vLLM Metal 160 · MLX 152 · llama.cpp 121 |
| M5 Max 64 GB | Qwen3.5-4B | Single prefill | Pie 5,092 · MLX 4,920 · vLLM Metal 4,834 · llama.cpp 2,765 |
| M5 Max 64 GB | Qwen3.5-4B | Batched decode | Pie 1,145 · vLLM Metal 923 · llama.cpp 394 · MLX 137 |
| M5 Max 64 GB | Qwen3.5-4B | Batched prefill | vLLM Metal 5,583 · Pie 5,068 · MLX 4,704 · llama.cpp 2,982 |
| M5 Max 64 GB | Qwen3.5-9B | Single decode | vLLM Metal 102 · Pie 102 · MLX 96.2 · llama.cpp 77.3 |
| M5 Max 64 GB | Qwen3.5-9B | Single prefill | Pie 3,034 · MLX 2,933 · vLLM Metal 2,913 · llama.cpp 1,583 |
| M5 Max 64 GB | Qwen3.5-9B | Batched decode | Pie 732 · vLLM Metal 568 · llama.cpp 282 · MLX 77.3 |
| M5 Max 64 GB | Qwen3.5-9B | Batched prefill | vLLM Metal 2,994 · MLX 2,645 · Pie 2,541 · llama.cpp 1,821 |
| M5 16 GB | Gemma-4-E2B | Batched decode | llama.cpp 202 · MLX 48.9 |
| M5 16 GB | Gemma-4-E4B | Batched decode | llama.cpp 92.8 · MLX 25.5 |
| M5 16 GB | Gemma-4-12B | Batched decode | MLX 9.6 |
| M5 16 GB | Qwen3.5-4B | Batched decode | llama.cpp 70.6 · MLX 34.5 |
| M5 16 GB | Qwen3.5-9B | Batched decode | llama.cpp 31.9 |
| M4 Pro 48 GB | Qwen3.5-0.8B | Single decode | vLLM Metal 136 |
| M4 Pro 48 GB | Qwen3.5-0.8B | Single prefill | vLLM Metal 4,718 |
| M4 Pro 48 GB | Qwen3.5-0.8B | Batched decode | vLLM Metal 970 |
| M4 Pro 48 GB | Qwen3.5-0.8B | Batched prefill | vLLM Metal 5,512 |
| M4 Pro 48 GB | Gemma-4-E2B | Single decode | Pie 126 · vLLM Metal 114 · MLX 111 · llama.cpp 103 |
| M4 Pro 48 GB | Gemma-4-E2B | Single prefill | Pie 4,557 · MLX 4,258 · vLLM Metal 3,710 · llama.cpp 1,322 |
| M4 Pro 48 GB | Gemma-4-E2B | Batched decode | vLLM Metal 731 · Pie 723 · llama.cpp 393 · MLX 108 |
| M4 Pro 48 GB | Gemma-4-E2B | Batched prefill | Pie 5,098 · vLLM Metal 4,416 · MLX 4,318 · llama.cpp 1,517 |
| M4 Pro 48 GB | Gemma-4-E4B | Single decode | Pie 71.3 · vLLM Metal 65.4 · MLX 64.9 · llama.cpp 59.3 |
| M4 Pro 48 GB | Gemma-4-E4B | Single prefill | Pie 1,276 · MLX 1,237 · vLLM Metal 1,160 · llama.cpp 677 |
| M4 Pro 48 GB | Gemma-4-E4B | Batched decode | Pie 350 · vLLM Metal 345 · llama.cpp 225 · MLX 60.7 |
| M4 Pro 48 GB | Gemma-4-E4B | Batched prefill | Pie 1,352 · vLLM Metal 1,287 · MLX 1,244 · llama.cpp 759 |
| M4 Pro 48 GB | Gemma-4-12B | Single decode | Pie 33.4 · vLLM Metal 31.4 · MLX 31.1 · llama.cpp 29.2 |
| M4 Pro 48 GB | Gemma-4-12B | Single prefill | Pie 286 · MLX 280 · vLLM Metal 267 · llama.cpp 259 |
| M4 Pro 48 GB | Gemma-4-12B | Batched decode | Pie 110 · vLLM Metal 110 · llama.cpp 95.4 · MLX 27.2 |
| M4 Pro 48 GB | Gemma-4-12B | Batched prefill | Pie 298 · llama.cpp 282 · MLX 280 |
| M4 Pro 48 GB | Qwen3.6-27B | Single decode | Pie 15.8 · vLLM Metal 15.6 · MLX 15.1 · llama.cpp 13.2 |
| M4 Pro 48 GB | Qwen3.6-27B | Single prefill | Pie 214 · MLX 126 · vLLM Metal 125 · llama.cpp 118 |
| M4 Pro 48 GB | Qwen3.6-27B | Batched decode | Pie 51.6 · llama.cpp 32.9 |
| M4 Pro 48 GB | Qwen3.6-27B | Batched prefill | Pie 132 · MLX 126 |
| M4 Pro 48 GB | GPT-OSS-20B | Single decode | Pie 97.9 · vLLM Metal 90 · MLX 85 · llama.cpp 80.7 |
| M4 Pro 48 GB | GPT-OSS-20B | Single prefill | Pie 1,028 · MLX 893 · vLLM Metal 862 · llama.cpp 810 |
| M4 Pro 48 GB | GPT-OSS-20B | Batched decode | Pie 250 · vLLM Metal 219 · llama.cpp 193 · MLX 71.7 |
| M4 Pro 48 GB | GPT-OSS-20B | Batched prefill | Pie 1,113 · vLLM Metal 944 · llama.cpp 912 · MLX 897 |
| M4 Pro 48 GB | Qwen3.6-35B | Single decode | Pie 98.5 · vLLM Metal 86 · MLX 79.8 · llama.cpp 54.4 |
| M4 Pro 48 GB | Qwen3.6-35B | Single prefill | Pie 989 · MLX 946 · vLLM Metal 890 · llama.cpp 745 |
| M4 Pro 48 GB | Qwen3.6-35B | Batched decode | Pie 245 · vLLM Metal 227 · llama.cpp 143 · MLX 69.4 |
| M4 Pro 48 GB | Qwen3.6-35B | Batched prefill | Pie 1,171 · vLLM Metal 1,041 · MLX 948 · llama.cpp 820 |
| M4 Pro 48 GB | Muse-Glimmer-30B | Single decode | Pie 15.7 · vLLM Metal 15.6 · llama.cpp 14.5 |
| M4 Pro 48 GB | Muse-Glimmer-30B | Single prefill | Pie 135 · vLLM Metal 124 · llama.cpp 120 |
| M4 Pro 48 GB | Muse-Glimmer-30B | Batched decode | Pie 57 · vLLM Metal 51.9 · llama.cpp 46.6 |
| M4 Pro 48 GB | Muse-Glimmer-30B | Batched prefill | Pie 131 · llama.cpp 128 |
| M4 Pro 48 GB | Gemma-4-26B | Single decode | Pie 83.2 · vLLM Metal 73.8 · MLX 70.4 · llama.cpp 53.9 |
| M4 Pro 48 GB | Gemma-4-26B | Single prefill | Pie 874 · MLX 830 · vLLM Metal 759 · llama.cpp 704 |
| M4 Pro 48 GB | Gemma-4-26B | Batched decode | Pie 232 · vLLM Metal 192 · llama.cpp 175 · MLX 63.4 |
| M4 Pro 48 GB | Gemma-4-26B | Batched prefill | Pie 984 · vLLM Metal 846 · MLX 834 · llama.cpp 792 |
| M4 Pro 48 GB | Gemma-4-31B | Single decode | Pie 13.3 · MLX 12.9 · vLLM Metal 12.8 |
| M4 Pro 48 GB | Gemma-4-31B | Single prefill | Pie 106 · MLX 105 · vLLM Metal 101 |
| M4 Pro 48 GB | Gemma-4-31B | Batched decode | Pie 42 · vLLM Metal 41.8 · MLX 11.3 |
| M4 Pro 48 GB | Gemma-4-31B | Batched prefill | Pie 109 · MLX 105 |
| M4 Pro 48 GB | Qwen3.8-27B | Single decode | Pie 15.8 · vLLM Metal 15.6 · MLX 15.1 · llama.cpp 12.8 |
| M4 Pro 48 GB | Qwen3.8-27B | Single prefill | Pie 214 · MLX 127 · vLLM Metal 125 · llama.cpp 116 |
| M4 Pro 48 GB | Qwen3.8-27B | Batched decode | Pie 51.6 · llama.cpp 33.8 · MLX 13 |
| M4 Pro 48 GB | Qwen3.8-27B | Batched prefill | Pie 132 · MLX 126 |
| M4 Pro 48 GB | Qwen3.5-4B | Single decode | Pie 87.3 · vLLM Metal 84.2 · MLX 78 · llama.cpp 61.7 |
| M4 Pro 48 GB | Qwen3.5-4B | Single prefill | Pie 1,212 · MLX 825 · vLLM Metal 788 · llama.cpp 711 |
| M4 Pro 48 GB | Qwen3.5-4B | Batched decode | Pie 288 · vLLM Metal 282 · llama.cpp 169 · MLX 68.3 |
| M4 Pro 48 GB | Qwen3.5-4B | Batched prefill | Pie 849 · vLLM Metal 845 · MLX 825 · llama.cpp 726 |
| M4 Pro 48 GB | Qwen3.5-9B | Single decode | Pie 51.7 · vLLM Metal 50.5 · MLX 47.9 · llama.cpp 38.9 |
| M4 Pro 48 GB | Qwen3.5-9B | Single prefill | Pie 723 · MLX 449 · vLLM Metal 434 · llama.cpp 397 |
| M4 Pro 48 GB | Qwen3.5-9B | Batched decode | Pie 173 · vLLM Metal 167 · llama.cpp 116 · MLX 41.3 |
| M4 Pro 48 GB | Qwen3.5-9B | Batched prefill | Pie 472 · vLLM Metal 463 · MLX 448 · llama.cpp 411 |
| M3 16 GB | Qwen3.5-0.8B | Single decode | vLLM Metal 55.7 |
| M3 16 GB | Qwen3.5-0.8B | Single prefill | vLLM Metal 2,146 |
| M3 16 GB | Qwen3.5-0.8B | Batched decode | vLLM Metal 441 |
| M3 16 GB | Qwen3.5-0.8B | Batched prefill | vLLM Metal 2,319 |
| M3 16 GB | Gemma-4-E2B | Single decode | Pie 60.2 · vLLM Metal 57.7 · MLX 55.4 · llama.cpp 50.8 |
| M3 16 GB | Gemma-4-E2B | Single prefill | Pie 2,408 · MLX 1,842 · vLLM Metal 1,593 · llama.cpp 591 |
| M3 16 GB | Gemma-4-E2B | Batched decode | Pie 321 · vLLM Metal 290 · llama.cpp 193 · MLX 47 |
| M3 16 GB | Gemma-4-E2B | Batched prefill | Pie 2,616 · MLX 1,896 · vLLM Metal 1,815 |
| M3 16 GB | Gemma-4-E4B | Single decode | Pie 31.9 · vLLM Metal 30.8 · MLX 26.9 · llama.cpp 25.4 |
| M3 16 GB | Gemma-4-E4B | Single prefill | Pie 687 · MLX 524 · vLLM Metal 493 · llama.cpp 274 |
| M3 16 GB | Gemma-4-E4B | Batched decode | Pie 122 · vLLM Metal 111 · llama.cpp 59.4 · MLX 24.6 |
| M3 16 GB | Gemma-4-E4B | Batched prefill | Pie 749 · MLX 526 · vLLM Metal 435 |
| M3 16 GB | Gemma-4-12B | Single decode | Pie 12.6 · MLX 10.3 · vLLM Metal 8.2 |
| M3 16 GB | Gemma-4-12B | Single prefill | Pie 154 · MLX 102 · vLLM Metal 93.3 |
| M3 16 GB | Gemma-4-12B | Batched decode | Pie 33.4 · vLLM Metal 29.4 · MLX 7.5 |
| M3 16 GB | Gemma-4-12B | Batched prefill | Pie 111 · MLX 76.3 |
| M3 16 GB | Qwen3.5-4B | Single decode | Pie 35.1 · vLLM Metal 34.7 · MLX 33.6 · llama.cpp 26.2 |
| M3 16 GB | Qwen3.5-4B | Single prefill | Pie 515 · MLX 346 · vLLM Metal 334 · llama.cpp 276 |
| M3 16 GB | Qwen3.5-4B | Batched decode | Pie 98.5 · vLLM Metal 86.9 · llama.cpp 40.6 · MLX 24.9 |
| M3 16 GB | Qwen3.5-4B | Batched prefill | Pie 538 · MLX 335 |
| M3 16 GB | Qwen3.5-9B | Single decode | Pie 19.6 · vLLM Metal 19.2 · MLX 19 · llama.cpp 12.3 |
| M3 16 GB | Qwen3.5-9B | Single prefill | Pie 283 · MLX 177 · vLLM Metal 171 · llama.cpp 140 |
| M3 16 GB | Qwen3.5-9B | Batched decode | Pie 68.3 · llama.cpp 31.4 · MLX 11.7 |
| M3 16 GB | Qwen3.5-9B | Batched prefill | Pie 306 · MLX 131 |
| M2 16 GB | Qwen3.5-0.8B | Single decode | vLLM Metal 48.5 |
| M2 16 GB | Qwen3.5-0.8B | Single prefill | vLLM Metal 1,529 |
| M2 16 GB | Qwen3.5-0.8B | Batched decode | vLLM Metal 362 |
| M2 16 GB | Qwen3.5-0.8B | Batched prefill | vLLM Metal 1,304 |
| M2 16 GB | Gemma-4-E2B | Single decode | Pie 56.2 · MLX 46.9 · llama.cpp 46.7 · vLLM Metal 42.5 |
| M2 16 GB | Gemma-4-E2B | Single prefill | Pie 1,790 · MLX 1,343 · vLLM Metal 983 · llama.cpp 524 |
| M2 16 GB | Gemma-4-E2B | Batched decode | Pie 281 · vLLM Metal 194 · llama.cpp 179 · MLX 42.2 |
| M2 16 GB | Gemma-4-E2B | Batched prefill | Pie 2,011 · MLX 1,369 · vLLM Metal 1,162 · llama.cpp 510 |
| M2 16 GB | Gemma-4-E4B | Single decode | Pie 30.1 · llama.cpp 25.9 · MLX 24.5 · vLLM Metal 23.1 |
| M2 16 GB | Gemma-4-E4B | Single prefill | Pie 525 · MLX 374 · vLLM Metal 284 · llama.cpp 268 |
| M2 16 GB | Gemma-4-E4B | Batched decode | Pie 110 · vLLM Metal 76.9 · llama.cpp 69.1 · MLX 21.4 |
| M2 16 GB | Gemma-4-E4B | Batched prefill | Pie 586 · MLX 378 |
| M2 16 GB | Gemma-4-12B | Single decode | MLX 10.3 · Pie 9.4 · vLLM Metal 9 |
| M2 16 GB | Gemma-4-12B | Single prefill | Pie 114 · MLX 82.6 · vLLM Metal 57 |
| M2 16 GB | Gemma-4-12B | Batched decode | Pie 27.8 · vLLM Metal 22.5 · MLX 8.1 |
| M2 16 GB | Gemma-4-12B | Batched prefill | Pie 105 · MLX 66 |
| M2 16 GB | Qwen3.5-4B | Single decode | Pie 33.8 · MLX 27.6 · vLLM Metal 26.7 · llama.cpp 26 |
| M2 16 GB | Qwen3.5-4B | Single prefill | Pie 331 · llama.cpp 277 · MLX 242 · vLLM Metal 139 |
| M2 16 GB | Qwen3.5-4B | Batched decode | Pie 47.9 · llama.cpp 43.2 · MLX 23.2 |
| M2 16 GB | Qwen3.5-4B | Batched prefill | Pie 372 · MLX 245 |
| M2 16 GB | Qwen3.5-9B | Single decode | MLX 16.7 · Pie 16.2 · vLLM Metal 16 · llama.cpp 12.9 |
| M2 16 GB | Qwen3.5-9B | Single prefill | Pie 136 · llama.cpp 135 · MLX 131 · vLLM Metal 82.1 |
| M2 16 GB | Qwen3.5-9B | Batched decode | Pie 31 · llama.cpp 25.4 · MLX 12.8 |
| M2 16 GB | Qwen3.5-9B | Batched prefill | Pie 212 · MLX 117 |