llamaperf

Local model performance on your hardware

Find which open-weight LLMs fit in your GPU or Mac and compare the speeds people report on setups like yours.

What runs on your hardware?

Pick your GPU or Mac, then read the speeds people reported on it, or estimate which models fit and how fast they run.

Free to use. No account needed. Memory estimates and community measurements are labelled separately.

Looking for a particular model?

Search for a model to see its reported speeds across GPUs and Macs.

Local model performance reports from the community

These are individual setups, not a controlled benchmark. Compare GPU count, quantization, context and offloading before comparing speeds. How to read a report →

GPU: M4 Pro 64GB
Compare setup details (1 active)

Exact recorded values. Context may be a configured limit; matching filters does not establish identical prompts, offloading or concurrency.

Apple hardware
generation:
67.5 tokens/s
prompt processing (prefill):
1158.7 tokens/s
quant:
Q8_0 (GGUF)
kv:
F16

Reported by the source; GPU count, offloading and concurrent requests can change these figures. Prompt-processing speed is input throughput, not time to first token. Check the full setup before comparing.

Original historical dasLLAMA/Gaijin Entertainment benchmark, measured 2026-09-23. This report is the llama.cpp arm for Qwen2.5-Omni-3B, Q8_0. The paired runtime is a separate measured configuration, not a second sample averaged into this headline. Source: https://github.com/GaijinEntertainment/daScript/blob/fa7ce426490e882a60377b99914d626d2c2e2ccb/modules/dasLLAMA/performance/records/m4.json Hardware, captured in this row: Mac16,11, Apple M4 Pro, 14 CPU cores including 10 performance cores, 20-core GPU, 64 GB unified memory, arm64, macOS 26.5.2, remote desktop off. Apple identifies Mac16,11 as Mac mini 2024: https://support.apple.com/en-me/102852 . CPU worker threads 10. Installed unified memory is not dedicated VRAM or model residency; no resident/peak model-memory value or disk capacity is recorded. GPU quantity: 1. The measured commit's ggml-metal-device.m creates MTLCreateSystemDefaultDevice and explicitly identifies it as the single physical device, physical index 0. Additional GGML_METAL_DEVICES indices, if configured, are virtual devices on that same physical GPU. The recorded backend is Metal with -ngl 99 and no RPC endpoint. This establishes one participating physical GPU without guessing from computer count. Runtime: llama.cpp commit 6fdd0ac89, stock Metal build, 10 CPU threads. The exact binary hash/build number is not published. The recorded native command supplies -ngl 99 -p 512 -n 128 -r 5 -t 10. Source defaults at this commit are batch 2048, microbatch 512, K/V f16, Flash Attention auto, main GPU 0, layer split and automatic load mode. Auto is not rewritten as confirmed Flash Attention on. Native results: PP512 1158.744138 tokens/s, sample SD 0.309465; TG128 67.501254 tokens/s, sample SD 0.041464. These are actual native processing counts: 512 synthetic prompt positions in PP, 128 serial synthetic decode positions in TG. They are not one 512-input/128-output chat request, context capacity, maximum output budget or achieved visible text length. PP times 512 synthetic token IDs through llama_decode and llama_synchronize; TG times 128 serial single-token llama_decode calls with synchronization after each. They are separate tests starting from cleared state, with zero pre-existing depth. TG does not sample model answers. Mean and sample SD are the native five-repetition rate statistics retained by the source. Model load and warmup are excluded. PP warmup processes 512 tokens; TG warmup processes one token. Timers are native loop wall time, not HTTP or isolated GPU-kernel clocks. No independently measured TTFT exists; no 512/PP proxy is promoted to TTFT. Context and conditions: The logged commit requests n_ctx=prompt+generation+depth separately for each native test: 512 for PP and 128 for TG at depth 0. Effective allocator-rounded context is not logged; the headline context field remains unknown. The source's separate batched command requests context 4096, batch 2048, microbatch 512, Flash Attention on, four streams each PP512/TG128. The recorded invocation does not request NextN/MTP speculative decoding or a separate drafter. A carrier filename containing MTP does not make this a speculative text benchmark. Internal native Metal kernel scheduling/encode-ahead is part of the measured implementation; it is not removed or relabeled. The source provides aggregate means/SD only for these cells, so the five individual samples cannot be independently reconstructed. No longer-context performance is inferred. Separate batching evidence: tg128@4 146.08199768066407 tokens/s, sample SD 0.1430727243423462. The separate four-stream value is source-reported summed S_TG from llama-batched-bench, not per-user speed or the single-stream headline. Its native decode-call clock differs from dasLLAMA's whole scheduler-step clock, so the batched pair is not asserted to have identical overhead boundaries. It was not reconstructed from individual batched trials here. Paired dasLLAMA single-stream source values are PP512 1245.559692075903 and TG128 70.90394559256633 tokens/s. Runtime/kernel tuning and allocation differ, so this is a same-carrier comparison with disclosed implementation differences. Weights: upstream ggml-org/Qwen2.5-Omni-3B-GGUF, file Qwen2.5-Omni-3B-Q8_0.gguf. Pinned verified artifact: https://huggingface.co/ggml-org/Qwen2.5-Omni-3B-GGUF/blob/75f1b73b657a50f5092502799457ccb4a4a1f9df/Qwen2.5-Omni-3B-Q8_0.gguf . SHA-256 c7d8b07c8d8d7a9ed1de1b8df7ac821eb4d259a224bd44310baacfaa5a473d4c; exact on-disk file length 3616087360 bytes. Both source runtime receipts record that same hash and length. Public HF HEAD metadata matches both, with no weight download. This proves exact tested file contents are available at revision 75f1b73b657a50f5092502799457ccb4a4a1f9df; it does not prove the original download used that revision. Original HF download revision is unknown. Quantization: Q8_0 is the source artifact's disk format/recipe, supported by upstream filename, catalog and matching file hash. The record's top-level quant=q8 is the das loader/activation dispatch mode; it does not identify the disk weight format or KV precision. Runtime execution format is preserved above. Source engine metadata records total parameters 3.397103616B and active 3.396861952B; those loader-counted quantities are retained without turning effective-size names into nominal parameter claims. No model-weight bytes are treated as resident RAM. Measurement implementation: https://github.com/ggml-org/llama.cpp/blob/6fdd0ac89/tools/llama-bench/llama-bench.cpp . Device binding: https://github.com/ggml-org/llama.cpp/blob/6fdd0ac89/ggml/src/ggml-metal/ggml-metal-device.m . The archived record snapshot was checked byte-for-byte against its pinned public source. CPU-only, audio and image workloads are excluded from this report. This is exclusively a synthetic text-token workload of the language model; no image, audio, projection file or multimodal encoder was timed. It is not a vision/audio performance result. LlamaPerf structured rates are rounded to 0.1 tokens/s to match the form precision; the exact source means and SDs are retained above.

Oct 13, 2026
Apple hardware
generation:
53.6 tokens/s
prompt processing (prefill):
878.7 tokens/s
quant:
Q8_0 (GGUF)
kv:
F16

Reported by the source; GPU count, offloading and concurrent requests can change these figures. Prompt-processing speed is input throughput, not time to first token. Check the full setup before comparing.

Original historical dasLLAMA/Gaijin Entertainment benchmark, measured 2026-09-23. This report is the llama.cpp arm for Qwen3-VL-4B-Instruct, Q8_0. The paired runtime is a separate measured configuration, not a second sample averaged into this headline. Source: https://github.com/GaijinEntertainment/daScript/blob/fa7ce426490e882a60377b99914d626d2c2e2ccb/modules/dasLLAMA/performance/records/m4.json Hardware, captured in this row: Mac16,11, Apple M4 Pro, 14 CPU cores including 10 performance cores, 20-core GPU, 64 GB unified memory, arm64, macOS 26.5.2, remote desktop off. Apple identifies Mac16,11 as Mac mini 2024: https://support.apple.com/en-me/102852 . CPU worker threads 10. Installed unified memory is not dedicated VRAM or model residency; no resident/peak model-memory value or disk capacity is recorded. GPU quantity: 1. The measured commit's ggml-metal-device.m creates MTLCreateSystemDefaultDevice and explicitly identifies it as the single physical device, physical index 0. Additional GGML_METAL_DEVICES indices, if configured, are virtual devices on that same physical GPU. The recorded backend is Metal with -ngl 99 and no RPC endpoint. This establishes one participating physical GPU without guessing from computer count. Runtime: llama.cpp commit 6fdd0ac89, stock Metal build, 10 CPU threads. The exact binary hash/build number is not published. The recorded native command supplies -ngl 99 -p 512 -n 128 -r 5 -t 10. Source defaults at this commit are batch 2048, microbatch 512, K/V f16, Flash Attention auto, main GPU 0, layer split and automatic load mode. Auto is not rewritten as confirmed Flash Attention on. Native results: PP512 878.738533 tokens/s, sample SD 0.174377; TG128 53.572382 tokens/s, sample SD 0.069366. These are actual native processing counts: 512 synthetic prompt positions in PP, 128 serial synthetic decode positions in TG. They are not one 512-input/128-output chat request, context capacity, maximum output budget or achieved visible text length. PP times 512 synthetic token IDs through llama_decode and llama_synchronize; TG times 128 serial single-token llama_decode calls with synchronization after each. They are separate tests starting from cleared state, with zero pre-existing depth. TG does not sample model answers. Mean and sample SD are the native five-repetition rate statistics retained by the source. Model load and warmup are excluded. PP warmup processes 512 tokens; TG warmup processes one token. Timers are native loop wall time, not HTTP or isolated GPU-kernel clocks. No independently measured TTFT exists; no 512/PP proxy is promoted to TTFT. Context and conditions: The logged commit requests n_ctx=prompt+generation+depth separately for each native test: 512 for PP and 128 for TG at depth 0. Effective allocator-rounded context is not logged; the headline context field remains unknown. The source's separate batched command requests context 4096, batch 2048, microbatch 512, Flash Attention on, four streams each PP512/TG128. The recorded invocation does not request NextN/MTP speculative decoding or a separate drafter. A carrier filename containing MTP does not make this a speculative text benchmark. Internal native Metal kernel scheduling/encode-ahead is part of the measured implementation; it is not removed or relabeled. The source provides aggregate means/SD only for these cells, so the five individual samples cannot be independently reconstructed. No longer-context performance is inferred. Separate batching evidence: tg128@4 114.81200103759765 tokens/s, sample SD 0.04207019880414009. The separate four-stream value is source-reported summed S_TG from llama-batched-bench, not per-user speed or the single-stream headline. Its native decode-call clock differs from dasLLAMA's whole scheduler-step clock, so the batched pair is not asserted to have identical overhead boundaries. It was not reconstructed from individual batched trials here. Paired dasLLAMA single-stream source values are PP512 957.9159091917088 and TG128 54.182615514794655 tokens/s. Runtime/kernel tuning and allocation differ, so this is a same-carrier comparison with disclosed implementation differences. Weights: upstream Qwen/Qwen3-VL-4B-Instruct-GGUF, file Qwen3VL-4B-Instruct-Q8_0.gguf. Pinned verified artifact: https://huggingface.co/Qwen/Qwen3-VL-4B-Instruct-GGUF/blob/1cd86afb9a95c410a6038ab3b40d8b578c892266/Qwen3VL-4B-Instruct-Q8_0.gguf . SHA-256 054721f478bc5fa6beffb7f38eae575d45298f88cbb8d2f83ef675a727863eb1; exact on-disk file length 4280406144 bytes. Both source runtime receipts record that same hash and length. Public HF HEAD metadata matches both, with no weight download. This proves exact tested file contents are available at revision 1cd86afb9a95c410a6038ab3b40d8b578c892266; it does not prove the original download used that revision. Original HF download revision is unknown. Quantization: Q8_0 is the source artifact's disk format/recipe, supported by upstream filename, catalog and matching file hash. The record's top-level quant=q8 is the das loader/activation dispatch mode; it does not identify the disk weight format or KV precision. Runtime execution format is preserved above. Source engine metadata records total parameters 4.022468096B and active 4.022272B; those loader-counted quantities are retained without turning effective-size names into nominal parameter claims. No model-weight bytes are treated as resident RAM. Measurement implementation: https://github.com/ggml-org/llama.cpp/blob/6fdd0ac89/tools/llama-bench/llama-bench.cpp . Device binding: https://github.com/ggml-org/llama.cpp/blob/6fdd0ac89/ggml/src/ggml-metal/ggml-metal-device.m . The archived record snapshot was checked byte-for-byte against its pinned public source. CPU-only, audio and image workloads are excluded from this report. This is exclusively a synthetic text-token workload of the language model; no image, audio, projection file or multimodal encoder was timed. It is not a vision/audio performance result. LlamaPerf structured rates are rounded to 0.1 tokens/s to match the form precision; the exact source means and SDs are retained above.

Oct 13, 2026
Apple hardware
generation:
12.8 tokens/s
prompt processing (prefill):
126.1 tokens/s
quant:
UD-IQ4_XS (GGUF)
kv:
F16

Reported by the source; GPU count, offloading and concurrent requests can change these figures. Prompt-processing speed is input throughput, not time to first token. Check the full setup before comparing.

Original historical dasLLAMA/Gaijin Entertainment benchmark, measured 2026-09-22. This report is the llama.cpp arm for Qwen3.8-27B, UD-IQ4_XS. The paired runtime is a separate measured configuration, not a second sample averaged into this headline. Source: https://github.com/GaijinEntertainment/daScript/blob/fa7ce426490e882a60377b99914d626d2c2e2ccb/modules/dasLLAMA/performance/records/m4.json Hardware, captured in this row: Mac16,11, Apple M4 Pro, 14 CPU cores including 10 performance cores, 20-core GPU, 64 GB unified memory, arm64, macOS 26.5.2, remote desktop off. Apple identifies Mac16,11 as Mac mini 2024: https://support.apple.com/en-me/102852 . CPU worker threads 10. Installed unified memory is not dedicated VRAM or model residency; no resident/peak model-memory value or disk capacity is recorded. GPU quantity: 1. The measured commit's ggml-metal-device.m creates MTLCreateSystemDefaultDevice and explicitly identifies it as the single physical device, physical index 0. Additional GGML_METAL_DEVICES indices, if configured, are virtual devices on that same physical GPU. The recorded backend is Metal with -ngl 99 and no RPC endpoint. This establishes one participating physical GPU without guessing from computer count. Runtime: llama.cpp commit 6fdd0ac89, stock Metal build, 10 CPU threads. The exact binary hash/build number is not published. The recorded native command supplies -ngl 99 -p 512 -n 128 -r 5 -t 10. Source defaults at this commit are batch 2048, microbatch 512, K/V f16, Flash Attention auto, main GPU 0, layer split and automatic load mode. Auto is not rewritten as confirmed Flash Attention on. Native results: PP512 126.094155 tokens/s, sample SD 0.0739; TG128 12.841348 tokens/s, sample SD 0.210784. These are actual native processing counts: 512 synthetic prompt positions in PP, 128 serial synthetic decode positions in TG. They are not one 512-input/128-output chat request, context capacity, maximum output budget or achieved visible text length. PP times 512 synthetic token IDs through llama_decode and llama_synchronize; TG times 128 serial single-token llama_decode calls with synchronization after each. They are separate tests starting from cleared state, with zero pre-existing depth. TG does not sample model answers. Mean and sample SD are the native five-repetition rate statistics retained by the source. Model load and warmup are excluded. PP warmup processes 512 tokens; TG warmup processes one token. Timers are native loop wall time, not HTTP or isolated GPU-kernel clocks. No independently measured TTFT exists; no 512/PP proxy is promoted to TTFT. Context and conditions: The logged commit requests n_ctx=prompt+generation+depth separately for each native test: 512 for PP and 128 for TG at depth 0. Effective allocator-rounded context is not logged; the headline context field remains unknown. The source's separate batched command requests context 4096, batch 2048, microbatch 512, Flash Attention on, four streams each PP512/TG128. The recorded invocation does not request NextN/MTP speculative decoding or a separate drafter. A carrier filename containing MTP does not make this a speculative text benchmark. Internal native Metal kernel scheduling/encode-ahead is part of the measured implementation; it is not removed or relabeled. The source provides aggregate means/SD only for these cells, so the five individual samples cannot be independently reconstructed. No longer-context performance is inferred. Separate batching evidence: tg128@4 14.187999725341797 tokens/s, sample SD 0.004471811931580305. The separate four-stream value is source-reported summed S_TG from llama-batched-bench, not per-user speed or the single-stream headline. Its native decode-call clock differs from dasLLAMA's whole scheduler-step clock, so the batched pair is not asserted to have identical overhead boundaries. It was not reconstructed from individual batched trials here. Paired dasLLAMA single-stream source values are PP512 125.58439322515821 and TG128 12.990910911725118 tokens/s. Runtime/kernel tuning and allocation differ, so this is a same-carrier comparison with disclosed implementation differences. Weights: upstream unsloth/Qwen3.8-27B-GGUF, file Qwen3.8-27B-UD-IQ4_XS.gguf. Pinned verified artifact: https://huggingface.co/unsloth/Qwen3.8-27B-GGUF/blob/27af057ecb382ddfea5d12837360a8980560e3ed/Qwen3.8-27B-UD-IQ4_XS.gguf . SHA-256 40fac4050e940397dbf13087afd50f4734a11805bf9d65ef8ddd7483470e6199; exact on-disk file length 14252845984 bytes. Both source runtime receipts record that same hash and length. Public HF HEAD metadata matches both, with no weight download. This proves exact tested file contents are available at revision 27af057ecb382ddfea5d12837360a8980560e3ed; it does not prove the original download used that revision. Original HF download revision is unknown. Quantization: UD-IQ4_XS is the source artifact's disk format/recipe, supported by upstream filename, catalog and matching file hash. The record's top-level quant=q8 is the das loader/activation dispatch mode; it does not identify the disk weight format or KV precision. Runtime execution format is preserved above. Source engine metadata records total parameters 27.320697856B and active 23.84986112B; those loader-counted quantities are retained without turning effective-size names into nominal parameter claims. No model-weight bytes are treated as resident RAM. Measurement implementation: https://github.com/ggml-org/llama.cpp/blob/6fdd0ac89/tools/llama-bench/llama-bench.cpp . Device binding: https://github.com/ggml-org/llama.cpp/blob/6fdd0ac89/ggml/src/ggml-metal/ggml-metal-device.m . The archived record snapshot was checked byte-for-byte against its pinned public source. CPU-only, audio and image workloads are excluded from this report. LlamaPerf structured rates are rounded to 0.1 tokens/s to match the form precision; the exact source means and SDs are retained above.

Oct 13, 2026
Apple hardware
generation:
11.5 tokens/s
prompt processing (prefill):
126.3 tokens/s
quant:
Q4_K_M (GGUF)
kv:
F16

Reported by the source; GPU count, offloading and concurrent requests can change these figures. Prompt-processing speed is input throughput, not time to first token. Check the full setup before comparing.

Original historical dasLLAMA/Gaijin Entertainment benchmark, measured 2026-09-22. This report is the llama.cpp arm for Qwen3.8-27B, Q4_K_M. The paired runtime is a separate measured configuration, not a second sample averaged into this headline. Source: https://github.com/GaijinEntertainment/daScript/blob/fa7ce426490e882a60377b99914d626d2c2e2ccb/modules/dasLLAMA/performance/records/m4.json Hardware, captured in this row: Mac16,11, Apple M4 Pro, 14 CPU cores including 10 performance cores, 20-core GPU, 64 GB unified memory, arm64, macOS 26.5.2, remote desktop off. Apple identifies Mac16,11 as Mac mini 2024: https://support.apple.com/en-me/102852 . CPU worker threads 10. Installed unified memory is not dedicated VRAM or model residency; no resident/peak model-memory value or disk capacity is recorded. GPU quantity: 1. The measured commit's ggml-metal-device.m creates MTLCreateSystemDefaultDevice and explicitly identifies it as the single physical device, physical index 0. Additional GGML_METAL_DEVICES indices, if configured, are virtual devices on that same physical GPU. The recorded backend is Metal with -ngl 99 and no RPC endpoint. This establishes one participating physical GPU without guessing from computer count. Runtime: llama.cpp commit 6fdd0ac89, stock Metal build, 10 CPU threads. The exact binary hash/build number is not published. The recorded native command supplies -ngl 99 -p 512 -n 128 -r 5 -t 10. Source defaults at this commit are batch 2048, microbatch 512, K/V f16, Flash Attention auto, main GPU 0, layer split and automatic load mode. Auto is not rewritten as confirmed Flash Attention on. Native results: PP512 126.263447 tokens/s, sample SD 0.054911; TG128 11.546594 tokens/s, sample SD 0.036055. These are actual native processing counts: 512 synthetic prompt positions in PP, 128 serial synthetic decode positions in TG. They are not one 512-input/128-output chat request, context capacity, maximum output budget or achieved visible text length. PP times 512 synthetic token IDs through llama_decode and llama_synchronize; TG times 128 serial single-token llama_decode calls with synchronization after each. They are separate tests starting from cleared state, with zero pre-existing depth. TG does not sample model answers. Mean and sample SD are the native five-repetition rate statistics retained by the source. Model load and warmup are excluded. PP warmup processes 512 tokens; TG warmup processes one token. Timers are native loop wall time, not HTTP or isolated GPU-kernel clocks. No independently measured TTFT exists; no 512/PP proxy is promoted to TTFT. Context and conditions: The logged commit requests n_ctx=prompt+generation+depth separately for each native test: 512 for PP and 128 for TG at depth 0. Effective allocator-rounded context is not logged; the headline context field remains unknown. The source's separate batched command requests context 4096, batch 2048, microbatch 512, Flash Attention on, four streams each PP512/TG128. The recorded invocation does not request NextN/MTP speculative decoding or a separate drafter. A carrier filename containing MTP does not make this a speculative text benchmark. Internal native Metal kernel scheduling/encode-ahead is part of the measured implementation; it is not removed or relabeled. The source provides aggregate means/SD only for these cells, so the five individual samples cannot be independently reconstructed. No longer-context performance is inferred. Separate batching evidence: tg128@4 14.520000457763672 tokens/s, sample SD not reported. The separate four-stream value is source-reported summed S_TG from llama-batched-bench, not per-user speed or the single-stream headline. Its native decode-call clock differs from dasLLAMA's whole scheduler-step clock, so the batched pair is not asserted to have identical overhead boundaries. It was not reconstructed from individual batched trials here. Paired dasLLAMA single-stream source values are PP512 126.17849650584908 and TG128 13.05645204451655 tokens/s. Runtime/kernel tuning and allocation differ, so this is a same-carrier comparison with disclosed implementation differences. Weights: upstream ggml-org/Qwen3.8-27B-GGUF, file Qwen3.8-27B-Q4_K_M.gguf. Pinned verified artifact: https://huggingface.co/ggml-org/Qwen3.8-27B-GGUF/blob/0669b98607d47046c7c2b3f801011d54a08cfccf/Qwen3.8-27B-Q4_K_M.gguf . SHA-256 31629f53165ab6a7dad8c9847dcfd1fdf55829dac1e6e748f4a68581b0033d34; exact on-disk file length 18973870432 bytes. Both source runtime receipts record that same hash and length. Public HF HEAD metadata matches both, with no weight download. This proves exact tested file contents are available at revision 0669b98607d47046c7c2b3f801011d54a08cfccf; it does not prove the original download used that revision. Original HF download revision is unknown. Quantization: Q4_K_M is the source artifact's disk format/recipe, supported by upstream filename, catalog and matching file hash. The record's top-level quant=q8 is the das loader/activation dispatch mode; it does not identify the disk weight format or KV precision. Runtime execution format is preserved above. Source engine metadata records total parameters 26.895998464B and active 23.84986112B; those loader-counted quantities are retained without turning effective-size names into nominal parameter claims. No model-weight bytes are treated as resident RAM. Measurement implementation: https://github.com/ggml-org/llama.cpp/blob/6fdd0ac89/tools/llama-bench/llama-bench.cpp . Device binding: https://github.com/ggml-org/llama.cpp/blob/6fdd0ac89/ggml/src/ggml-metal/ggml-metal-device.m . The archived record snapshot was checked byte-for-byte against its pinned public source. CPU-only, audio and image workloads are excluded from this report. LlamaPerf structured rates are rounded to 0.1 tokens/s to match the form precision; the exact source means and SDs are retained above.

Oct 13, 2026
Apple hardware
generation:
78.2 tokens/s
prompt processing (prefill):
1558.9 tokens/s
quant:
Q8_0 (GGUF)
kv:
F16

Reported by the source; GPU count, offloading and concurrent requests can change these figures. Prompt-processing speed is input throughput, not time to first token. Check the full setup before comparing.

Original historical dasLLAMA/Gaijin Entertainment benchmark, measured 2026-09-22. This report is the llama.cpp arm for gemma-4-E2B-it, Q8_0. The paired runtime is a separate measured configuration, not a second sample averaged into this headline. Source: https://github.com/GaijinEntertainment/daScript/blob/fa7ce426490e882a60377b99914d626d2c2e2ccb/modules/dasLLAMA/performance/records/m4.json Hardware, captured in this row: Mac16,11, Apple M4 Pro, 14 CPU cores including 10 performance cores, 20-core GPU, 64 GB unified memory, arm64, macOS 26.5.2, remote desktop off. Apple identifies Mac16,11 as Mac mini 2024: https://support.apple.com/en-me/102852 . CPU worker threads 10. Installed unified memory is not dedicated VRAM or model residency; no resident/peak model-memory value or disk capacity is recorded. GPU quantity: 1. The measured commit's ggml-metal-device.m creates MTLCreateSystemDefaultDevice and explicitly identifies it as the single physical device, physical index 0. Additional GGML_METAL_DEVICES indices, if configured, are virtual devices on that same physical GPU. The recorded backend is Metal with -ngl 99 and no RPC endpoint. This establishes one participating physical GPU without guessing from computer count. Runtime: llama.cpp commit 6fdd0ac89, stock Metal build, 10 CPU threads. The exact binary hash/build number is not published. The recorded native command supplies -ngl 99 -p 512 -n 128 -r 5 -t 10. Source defaults at this commit are batch 2048, microbatch 512, K/V f16, Flash Attention auto, main GPU 0, layer split and automatic load mode. Auto is not rewritten as confirmed Flash Attention on. Native results: PP512 1558.851201 tokens/s, sample SD 1.27275; TG128 78.196474 tokens/s, sample SD 0.088453. These are actual native processing counts: 512 synthetic prompt positions in PP, 128 serial synthetic decode positions in TG. They are not one 512-input/128-output chat request, context capacity, maximum output budget or achieved visible text length. PP times 512 synthetic token IDs through llama_decode and llama_synchronize; TG times 128 serial single-token llama_decode calls with synchronization after each. They are separate tests starting from cleared state, with zero pre-existing depth. TG does not sample model answers. Mean and sample SD are the native five-repetition rate statistics retained by the source. Model load and warmup are excluded. PP warmup processes 512 tokens; TG warmup processes one token. Timers are native loop wall time, not HTTP or isolated GPU-kernel clocks. No independently measured TTFT exists; no 512/PP proxy is promoted to TTFT. Context and conditions: The logged commit requests n_ctx=prompt+generation+depth separately for each native test: 512 for PP and 128 for TG at depth 0. Effective allocator-rounded context is not logged; the headline context field remains unknown. The source's separate batched command requests context 4096, batch 2048, microbatch 512, Flash Attention on, four streams each PP512/TG128. The recorded invocation does not request NextN/MTP speculative decoding or a separate drafter. A carrier filename containing MTP does not make this a speculative text benchmark. Internal native Metal kernel scheduling/encode-ahead is part of the measured implementation; it is not removed or relabeled. The source provides aggregate means/SD only for these cells, so the five individual samples cannot be independently reconstructed. No longer-context performance is inferred. Separate batching evidence: tg128@4 176.03800048828126 tokens/s, sample SD 0.0941813513636589. The separate four-stream value is source-reported summed S_TG from llama-batched-bench, not per-user speed or the single-stream headline. Its native decode-call clock differs from dasLLAMA's whole scheduler-step clock, so the batched pair is not asserted to have identical overhead boundaries. It was not reconstructed from individual batched trials here. Paired dasLLAMA single-stream source values are PP512 1545.6743471822801 and TG128 86.56417118120942 tokens/s. Runtime/kernel tuning and allocation differ, so this is a same-carrier comparison with disclosed implementation differences. Weights: upstream ggml-org/gemma-4-E2B-it-GGUF, file gemma-4-E2B-it-Q8_0.gguf. Pinned verified artifact: https://huggingface.co/ggml-org/gemma-4-E2B-it-GGUF/blob/b4243c156154b6dca9324415f8c7ccc098b4aed1/gemma-4-E2B-it-Q8_0.gguf . SHA-256 996d08777aadc6bfd3c7375ef70ba25a0f55240075860754fdb18d6d860aa63a; exact on-disk file length 4967497152 bytes. Both source runtime receipts record that same hash and length. Public HF HEAD metadata matches both, with no weight download. This proves exact tested file contents are available at revision b4243c156154b6dca9324415f8c7ccc098b4aed1; it does not prove the original download used that revision. Original HF download revision is unknown. Quantization: Q8_0 is the source artifact's disk format/recipe, supported by upstream filename, catalog and matching file hash. The record's top-level quant=q8 is the das loader/activation dispatch mode; it does not identify the disk weight format or KV precision. Runtime execution format is preserved above. Source engine metadata records total parameters 4.647450147B and active 2.247622656B; those loader-counted quantities are retained without turning effective-size names into nominal parameter claims. No model-weight bytes are treated as resident RAM. Measurement implementation: https://github.com/ggml-org/llama.cpp/blob/6fdd0ac89/tools/llama-bench/llama-bench.cpp . Device binding: https://github.com/ggml-org/llama.cpp/blob/6fdd0ac89/ggml/src/ggml-metal/ggml-metal-device.m . The archived record snapshot was checked byte-for-byte against its pinned public source. CPU-only, audio and image workloads are excluded from this report. LlamaPerf structured rates are rounded to 0.1 tokens/s to match the form precision; the exact source means and SDs are retained above.

Oct 13, 2026
Apple hardware
generation:
17.4 tokens/s
prompt processing (prefill):
146.8 tokens/s
quant:
Q4_K_M (GGUF)
kv:
F16

Reported by the source; GPU count, offloading and concurrent requests can change these figures. Prompt-processing speed is input throughput, not time to first token. Check the full setup before comparing.

Original historical dasLLAMA/Gaijin Entertainment benchmark, measured 2026-09-22. This report is the llama.cpp arm for Mistral-Small-3.1-24B-Instruct-2503, Q4_K_M. The paired runtime is a separate measured configuration, not a second sample averaged into this headline. Source: https://github.com/GaijinEntertainment/daScript/blob/fa7ce426490e882a60377b99914d626d2c2e2ccb/modules/dasLLAMA/performance/records/m4.json Hardware, captured in this row: Mac16,11, Apple M4 Pro, 14 CPU cores including 10 performance cores, 20-core GPU, 64 GB unified memory, arm64, macOS 26.5.2, remote desktop off. Apple identifies Mac16,11 as Mac mini 2024: https://support.apple.com/en-me/102852 . CPU worker threads 10. Installed unified memory is not dedicated VRAM or model residency; no resident/peak model-memory value or disk capacity is recorded. GPU quantity: 1. The measured commit's ggml-metal-device.m creates MTLCreateSystemDefaultDevice and explicitly identifies it as the single physical device, physical index 0. Additional GGML_METAL_DEVICES indices, if configured, are virtual devices on that same physical GPU. The recorded backend is Metal with -ngl 99 and no RPC endpoint. This establishes one participating physical GPU without guessing from computer count. Runtime: llama.cpp commit 6fdd0ac89, stock Metal build, 10 CPU threads. The exact binary hash/build number is not published. The recorded native command supplies -ngl 99 -p 512 -n 128 -r 5 -t 10. Source defaults at this commit are batch 2048, microbatch 512, K/V f16, Flash Attention auto, main GPU 0, layer split and automatic load mode. Auto is not rewritten as confirmed Flash Attention on. Native results: PP512 146.828459 tokens/s, sample SD 0.008764; TG128 17.366184 tokens/s, sample SD 0.04137. These are actual native processing counts: 512 synthetic prompt positions in PP, 128 serial synthetic decode positions in TG. They are not one 512-input/128-output chat request, context capacity, maximum output budget or achieved visible text length. PP times 512 synthetic token IDs through llama_decode and llama_synchronize; TG times 128 serial single-token llama_decode calls with synchronization after each. They are separate tests starting from cleared state, with zero pre-existing depth. TG does not sample model answers. Mean and sample SD are the native five-repetition rate statistics retained by the source. Model load and warmup are excluded. PP warmup processes 512 tokens; TG warmup processes one token. Timers are native loop wall time, not HTTP or isolated GPU-kernel clocks. No independently measured TTFT exists; no 512/PP proxy is promoted to TTFT. Context and conditions: The logged commit requests n_ctx=prompt+generation+depth separately for each native test: 512 for PP and 128 for TG at depth 0. Effective allocator-rounded context is not logged; the headline context field remains unknown. The source's separate batched command requests context 4096, batch 2048, microbatch 512, Flash Attention on, four streams each PP512/TG128. The recorded invocation does not request NextN/MTP speculative decoding or a separate drafter. A carrier filename containing MTP does not make this a speculative text benchmark. Internal native Metal kernel scheduling/encode-ahead is part of the measured implementation; it is not removed or relabeled. The source provides aggregate means/SD only for these cells, so the five individual samples cannot be independently reconstructed. No longer-context performance is inferred. Separate batching evidence: tg128@4 17.711999130249023 tokens/s, sample SD 0.004472238477319479. The separate four-stream value is source-reported summed S_TG from llama-batched-bench, not per-user speed or the single-stream headline. Its native decode-call clock differs from dasLLAMA's whole scheduler-step clock, so the batched pair is not asserted to have identical overhead boundaries. It was not reconstructed from individual batched trials here. Paired dasLLAMA single-stream source values are PP512 143.17828658159215 and TG128 17.582416309855425 tokens/s. Runtime/kernel tuning and allocation differ, so this is a same-carrier comparison with disclosed implementation differences. Weights: upstream unsloth/Mistral-Small-3.1-24B-Instruct-2503-GGUF, file Mistral-Small-3.1-24B-Instruct-2503-Q4_K_M.gguf. Pinned verified artifact: https://huggingface.co/unsloth/Mistral-Small-3.1-24B-Instruct-2503-GGUF/blob/d63ca9416f5db4f54a78145fb9a025317a57289f/Mistral-Small-3.1-24B-Instruct-2503-Q4_K_M.gguf . SHA-256 6d670773c3908584349d41a5048d1472226b593c881fd394e8ac196c802e81e2; exact on-disk file length 14333910592 bytes. Both source runtime receipts record that same hash and length. Public HF HEAD metadata matches both, with no weight download. This proves exact tested file contents are available at revision d63ca9416f5db4f54a78145fb9a025317a57289f; it does not prove the original download used that revision. Original HF download revision is unknown. Quantization: Q4_K_M is the source artifact's disk format/recipe, supported by upstream filename, catalog and matching file hash. The record's top-level quant=q8 is the das loader/activation dispatch mode; it does not identify the disk weight format or KV precision. Runtime execution format is preserved above. Source engine metadata records total parameters 23.5724032B and active 23.57198848B; those loader-counted quantities are retained without turning effective-size names into nominal parameter claims. No model-weight bytes are treated as resident RAM. Measurement implementation: https://github.com/ggml-org/llama.cpp/blob/6fdd0ac89/tools/llama-bench/llama-bench.cpp . Device binding: https://github.com/ggml-org/llama.cpp/blob/6fdd0ac89/ggml/src/ggml-metal/ggml-metal-device.m . The archived record snapshot was checked byte-for-byte against its pinned public source. CPU-only, audio and image workloads are excluded from this report. LlamaPerf structured rates are rounded to 0.1 tokens/s to match the form precision; the exact source means and SDs are retained above.

Oct 13, 2026
Apple hardware
generation:
77.2 tokens/s
prompt processing (prefill):
780.2 tokens/s
quant:
Q4_K_M (GGUF)
kv:
F16

Reported by the source; GPU count, offloading and concurrent requests can change these figures. Prompt-processing speed is input throughput, not time to first token. Check the full setup before comparing.

Original historical dasLLAMA/Gaijin Entertainment benchmark, measured 2026-09-22. This report is the llama.cpp arm for Qwen3-30B-A3B-Instruct-2507, Q4_K_M. The paired runtime is a separate measured configuration, not a second sample averaged into this headline. Source: https://github.com/GaijinEntertainment/daScript/blob/fa7ce426490e882a60377b99914d626d2c2e2ccb/modules/dasLLAMA/performance/records/m4.json Hardware, captured in this row: Mac16,11, Apple M4 Pro, 14 CPU cores including 10 performance cores, 20-core GPU, 64 GB unified memory, arm64, macOS 26.5.2, remote desktop off. Apple identifies Mac16,11 as Mac mini 2024: https://support.apple.com/en-me/102852 . CPU worker threads 10. Installed unified memory is not dedicated VRAM or model residency; no resident/peak model-memory value or disk capacity is recorded. GPU quantity: 1. The measured commit's ggml-metal-device.m creates MTLCreateSystemDefaultDevice and explicitly identifies it as the single physical device, physical index 0. Additional GGML_METAL_DEVICES indices, if configured, are virtual devices on that same physical GPU. The recorded backend is Metal with -ngl 99 and no RPC endpoint. This establishes one participating physical GPU without guessing from computer count. Runtime: llama.cpp commit 6fdd0ac89, stock Metal build, 10 CPU threads. The exact binary hash/build number is not published. The recorded native command supplies -ngl 99 -p 512 -n 128 -r 5 -t 10. Source defaults at this commit are batch 2048, microbatch 512, K/V f16, Flash Attention auto, main GPU 0, layer split and automatic load mode. Auto is not rewritten as confirmed Flash Attention on. Native results: PP512 780.166618 tokens/s, sample SD 3.656274; TG128 77.20355 tokens/s, sample SD 0.159297. These are actual native processing counts: 512 synthetic prompt positions in PP, 128 serial synthetic decode positions in TG. They are not one 512-input/128-output chat request, context capacity, maximum output budget or achieved visible text length. PP times 512 synthetic token IDs through llama_decode and llama_synchronize; TG times 128 serial single-token llama_decode calls with synchronization after each. They are separate tests starting from cleared state, with zero pre-existing depth. TG does not sample model answers. Mean and sample SD are the native five-repetition rate statistics retained by the source. Model load and warmup are excluded. PP warmup processes 512 tokens; TG warmup processes one token. Timers are native loop wall time, not HTTP or isolated GPU-kernel clocks. No independently measured TTFT exists; no 512/PP proxy is promoted to TTFT. Context and conditions: The logged commit requests n_ctx=prompt+generation+depth separately for each native test: 512 for PP and 128 for TG at depth 0. Effective allocator-rounded context is not logged; the headline context field remains unknown. The source's separate batched command requests context 4096, batch 2048, microbatch 512, Flash Attention on, four streams each PP512/TG128. The recorded invocation does not request NextN/MTP speculative decoding or a separate drafter. A carrier filename containing MTP does not make this a speculative text benchmark. Internal native Metal kernel scheduling/encode-ahead is part of the measured implementation; it is not removed or relabeled. The source provides aggregate means/SD only for these cells, so the five individual samples cannot be independently reconstructed. No longer-context performance is inferred. Separate batching evidence: tg128@4 103.75999908447265 tokens/s, sample SD 0.07713516801595688. The separate four-stream value is source-reported summed S_TG from llama-batched-bench, not per-user speed or the single-stream headline. Its native decode-call clock differs from dasLLAMA's whole scheduler-step clock, so the batched pair is not asserted to have identical overhead boundaries. It was not reconstructed from individual batched trials here. Paired dasLLAMA single-stream source values are PP512 805.9786871412659 and TG128 94.5425587896109 tokens/s. Runtime/kernel tuning and allocation differ, so this is a same-carrier comparison with disclosed implementation differences. Weights: upstream unsloth/Qwen3-30B-A3B-Instruct-2507-GGUF, file Qwen3-30B-A3B-Instruct-2507-Q4_K_M.gguf. Pinned verified artifact: https://huggingface.co/unsloth/Qwen3-30B-A3B-Instruct-2507-GGUF/blob/eea7b2be5805a5f151f8847ede8e5f9a9284bf77/Qwen3-30B-A3B-Instruct-2507-Q4_K_M.gguf . SHA-256 6c997b8af17debdfb01d890214400ccbab00db6acc0ba8da5de1cc906c4774d0; exact on-disk file length 18556686752 bytes. Both source runtime receipts record that same hash and length. Public HF HEAD metadata matches both, with no weight download. This proves exact tested file contents are available at revision eea7b2be5805a5f151f8847ede8e5f9a9284bf77; it does not prove the original download used that revision. Original HF download revision is unknown. Quantization: Q4_K_M is the source artifact's disk format/recipe, supported by upstream filename, catalog and matching file hash. The record's top-level quant=q8 is the das loader/activation dispatch mode; it does not identify the disk weight format or KV precision. Runtime execution format is preserved above. Source engine metadata records total parameters 30.532122624B and active 3.35282176B; those loader-counted quantities are retained without turning effective-size names into nominal parameter claims. No model-weight bytes are treated as resident RAM. Measurement implementation: https://github.com/ggml-org/llama.cpp/blob/6fdd0ac89/tools/llama-bench/llama-bench.cpp . Device binding: https://github.com/ggml-org/llama.cpp/blob/6fdd0ac89/ggml/src/ggml-metal/ggml-metal-device.m . The archived record snapshot was checked byte-for-byte against its pinned public source. CPU-only, audio and image workloads are excluded from this report. LlamaPerf structured rates are rounded to 0.1 tokens/s to match the form precision; the exact source means and SDs are retained above.

Oct 13, 2026
Apple hardware
generation:
73.6 tokens/s
prompt processing (prefill):
834.2 tokens/s
quant:
MXFP4 (GGUF)
kv:
F16

Reported by the source; GPU count, offloading and concurrent requests can change these figures. Prompt-processing speed is input throughput, not time to first token. Check the full setup before comparing.

Original historical dasLLAMA/Gaijin Entertainment benchmark, measured 2026-09-22. This report is the llama.cpp arm for gpt-oss-20b, MXFP4. The paired runtime is a separate measured configuration, not a second sample averaged into this headline. Source: https://github.com/GaijinEntertainment/daScript/blob/fa7ce426490e882a60377b99914d626d2c2e2ccb/modules/dasLLAMA/performance/records/m4.json Hardware, captured in this row: Mac16,11, Apple M4 Pro, 14 CPU cores including 10 performance cores, 20-core GPU, 64 GB unified memory, arm64, macOS 26.5.2, remote desktop off. Apple identifies Mac16,11 as Mac mini 2024: https://support.apple.com/en-me/102852 . CPU worker threads 10. Installed unified memory is not dedicated VRAM or model residency; no resident/peak model-memory value or disk capacity is recorded. GPU quantity: 1. The measured commit's ggml-metal-device.m creates MTLCreateSystemDefaultDevice and explicitly identifies it as the single physical device, physical index 0. Additional GGML_METAL_DEVICES indices, if configured, are virtual devices on that same physical GPU. The recorded backend is Metal with -ngl 99 and no RPC endpoint. This establishes one participating physical GPU without guessing from computer count. Runtime: llama.cpp commit 6fdd0ac89, stock Metal build, 10 CPU threads. The exact binary hash/build number is not published. The recorded native command supplies -ngl 99 -p 512 -n 128 -r 5 -t 10. Source defaults at this commit are batch 2048, microbatch 512, K/V f16, Flash Attention auto, main GPU 0, layer split and automatic load mode. Auto is not rewritten as confirmed Flash Attention on. Native results: PP512 834.198701 tokens/s, sample SD 1.686712; TG128 73.555872 tokens/s, sample SD 0.050486. These are actual native processing counts: 512 synthetic prompt positions in PP, 128 serial synthetic decode positions in TG. They are not one 512-input/128-output chat request, context capacity, maximum output budget or achieved visible text length. PP times 512 synthetic token IDs through llama_decode and llama_synchronize; TG times 128 serial single-token llama_decode calls with synchronization after each. They are separate tests starting from cleared state, with zero pre-existing depth. TG does not sample model answers. Mean and sample SD are the native five-repetition rate statistics retained by the source. Model load and warmup are excluded. PP warmup processes 512 tokens; TG warmup processes one token. Timers are native loop wall time, not HTTP or isolated GPU-kernel clocks. No independently measured TTFT exists; no 512/PP proxy is promoted to TTFT. Context and conditions: The logged commit requests n_ctx=prompt+generation+depth separately for each native test: 512 for PP and 128 for TG at depth 0. Effective allocator-rounded context is not logged; the headline context field remains unknown. The source's separate batched command requests context 4096, batch 2048, microbatch 512, Flash Attention on, four streams each PP512/TG128. The recorded invocation does not request NextN/MTP speculative decoding or a separate drafter. A carrier filename containing MTP does not make this a speculative text benchmark. Internal native Metal kernel scheduling/encode-ahead is part of the measured implementation; it is not removed or relabeled. The source provides aggregate means/SD only for these cells, so the five individual samples cannot be independently reconstructed. No longer-context performance is inferred. Separate batching evidence: tg128@4 104.19399871826172 tokens/s, sample SD 0.03286178410053253. The separate four-stream value is source-reported summed S_TG from llama-batched-bench, not per-user speed or the single-stream headline. Its native decode-call clock differs from dasLLAMA's whole scheduler-step clock, so the batched pair is not asserted to have identical overhead boundaries. It was not reconstructed from individual batched trials here. Paired dasLLAMA single-stream source values are PP512 862.6170316263918 and TG128 83.2137394139916 tokens/s. Runtime/kernel tuning and allocation differ, so this is a same-carrier comparison with disclosed implementation differences. Weights: upstream ggml-org/gpt-oss-20b-GGUF, file gpt-oss-20b-mxfp4.gguf. Pinned verified artifact: https://huggingface.co/ggml-org/gpt-oss-20b-GGUF/blob/e1dc459feff949ff451ce107337a2026daa80df8/gpt-oss-20b-mxfp4.gguf . SHA-256 be37a636aca0fc1aae0d32325f82f6b4d21495f06823b5fbc1898ae0303e9935; exact on-disk file length 12109566560 bytes. Both source runtime receipts record that same hash and length. Public HF HEAD metadata matches both, with no weight download. This proves exact tested file contents are available at revision e1dc459feff949ff451ce107337a2026daa80df8; it does not prove the original download used that revision. Original HF download revision is unknown. Quantization: MXFP4 is the source artifact's disk format/recipe, supported by upstream filename, catalog and matching file hash. The record's top-level quant=q8 is the das loader/activation dispatch mode; it does not identify the disk weight format or KV precision. Runtime execution format is preserved above. Source engine metadata records total parameters 20.914757184B and active 4.18627584B; those loader-counted quantities are retained without turning effective-size names into nominal parameter claims. No model-weight bytes are treated as resident RAM. Measurement implementation: https://github.com/ggml-org/llama.cpp/blob/6fdd0ac89/tools/llama-bench/llama-bench.cpp . Device binding: https://github.com/ggml-org/llama.cpp/blob/6fdd0ac89/ggml/src/ggml-metal/ggml-metal-device.m . The archived record snapshot was checked byte-for-byte against its pinned public source. CPU-only, audio and image workloads are excluded from this report. LlamaPerf structured rates are rounded to 0.1 tokens/s to match the form precision; the exact source means and SDs are retained above.

Oct 13, 2026
Apple hardware
generation:
42.4 tokens/s
prompt processing (prefill):
786.5 tokens/s
quant:
Q8_0 (GGUF)
kv:
F16

Reported by the source; GPU count, offloading and concurrent requests can change these figures. Prompt-processing speed is input throughput, not time to first token. Check the full setup before comparing.

Original historical dasLLAMA/Gaijin Entertainment benchmark, measured 2026-09-22. This report is the llama.cpp arm for gemma-4-E4B-it, Q8_0. The paired runtime is a separate measured configuration, not a second sample averaged into this headline. Source: https://github.com/GaijinEntertainment/daScript/blob/fa7ce426490e882a60377b99914d626d2c2e2ccb/modules/dasLLAMA/performance/records/m4.json Hardware, captured in this row: Mac16,11, Apple M4 Pro, 14 CPU cores including 10 performance cores, 20-core GPU, 64 GB unified memory, arm64, macOS 26.5.2, remote desktop off. Apple identifies Mac16,11 as Mac mini 2024: https://support.apple.com/en-me/102852 . CPU worker threads 10. Installed unified memory is not dedicated VRAM or model residency; no resident/peak model-memory value or disk capacity is recorded. GPU quantity: 1. The measured commit's ggml-metal-device.m creates MTLCreateSystemDefaultDevice and explicitly identifies it as the single physical device, physical index 0. Additional GGML_METAL_DEVICES indices, if configured, are virtual devices on that same physical GPU. The recorded backend is Metal with -ngl 99 and no RPC endpoint. This establishes one participating physical GPU without guessing from computer count. Runtime: llama.cpp commit 6fdd0ac89, stock Metal build, 10 CPU threads. The exact binary hash/build number is not published. The recorded native command supplies -ngl 99 -p 512 -n 128 -r 5 -t 10. Source defaults at this commit are batch 2048, microbatch 512, K/V f16, Flash Attention auto, main GPU 0, layer split and automatic load mode. Auto is not rewritten as confirmed Flash Attention on. Native results: PP512 786.546787 tokens/s, sample SD 1.546087; TG128 42.445622 tokens/s, sample SD 0.162602. These are actual native processing counts: 512 synthetic prompt positions in PP, 128 serial synthetic decode positions in TG. They are not one 512-input/128-output chat request, context capacity, maximum output budget or achieved visible text length. PP times 512 synthetic token IDs through llama_decode and llama_synchronize; TG times 128 serial single-token llama_decode calls with synchronization after each. They are separate tests starting from cleared state, with zero pre-existing depth. TG does not sample model answers. Mean and sample SD are the native five-repetition rate statistics retained by the source. Model load and warmup are excluded. PP warmup processes 512 tokens; TG warmup processes one token. Timers are native loop wall time, not HTTP or isolated GPU-kernel clocks. No independently measured TTFT exists; no 512/PP proxy is promoted to TTFT. Context and conditions: The logged commit requests n_ctx=prompt+generation+depth separately for each native test: 512 for PP and 128 for TG at depth 0. Effective allocator-rounded context is not logged; the headline context field remains unknown. The source's separate batched command requests context 4096, batch 2048, microbatch 512, Flash Attention on, four streams each PP512/TG128. The recorded invocation does not request NextN/MTP speculative decoding or a separate drafter. A carrier filename containing MTP does not make this a speculative text benchmark. Internal native Metal kernel scheduling/encode-ahead is part of the measured implementation; it is not removed or relabeled. The source provides aggregate means/SD only for these cells, so the five individual samples cannot be independently reconstructed. No longer-context performance is inferred. Separate batching evidence: tg128@4 93.60999908447266 tokens/s, sample SD 0.03162350133061409. The separate four-stream value is source-reported summed S_TG from llama-batched-bench, not per-user speed or the single-stream headline. Its native decode-call clock differs from dasLLAMA's whole scheduler-step clock, so the batched pair is not asserted to have identical overhead boundaries. It was not reconstructed from individual batched trials here. Paired dasLLAMA single-stream source values are PP512 770.1790621807737 and TG128 46.15063241288398 tokens/s. Runtime/kernel tuning and allocation differ, so this is a same-carrier comparison with disclosed implementation differences. Weights: upstream ggml-org/gemma-4-E4B-it-GGUF, file gemma-4-E4B-it-Q8_0.gguf. Pinned verified artifact: https://huggingface.co/ggml-org/gemma-4-E4B-it-GGUF/blob/b8093469224f83f5c38f691eb906c380e9e63114/gemma-4-E4B-it-Q8_0.gguf . SHA-256 34be82b17b4942d389b9b527170c4b058027abdd32531fda063d3d97dd8ce80a; exact on-disk file length 8031242688 bytes. Both source runtime receipts record that same hash and length. Public HF HEAD metadata matches both, with no weight download. This proves exact tested file contents are available at revision b8093469224f83f5c38f691eb906c380e9e63114; it does not prove the original download used that revision. Original HF download revision is unknown. Quantization: Q8_0 is the source artifact's disk format/recipe, supported by upstream filename, catalog and matching file hash. The record's top-level quant=q8 is the das loader/activation dispatch mode; it does not identify the disk weight format or KV precision. Runtime execution format is preserved above. Source engine metadata records total parameters 7.51806929B and active 4.58883072B; those loader-counted quantities are retained without turning effective-size names into nominal parameter claims. No model-weight bytes are treated as resident RAM. Measurement implementation: https://github.com/ggml-org/llama.cpp/blob/6fdd0ac89/tools/llama-bench/llama-bench.cpp . Device binding: https://github.com/ggml-org/llama.cpp/blob/6fdd0ac89/ggml/src/ggml-metal/ggml-metal-device.m . The archived record snapshot was checked byte-for-byte against its pinned public source. CPU-only, audio and image workloads are excluded from this report. LlamaPerf structured rates are rounded to 0.1 tokens/s to match the form precision; the exact source means and SDs are retained above.

Oct 13, 2026
Apple hardware
generation:
29.1 tokens/s
prompt processing (prefill):
284.5 tokens/s
quant:
Q4_K_M (GGUF)
kv:
F16

Reported by the source; GPU count, offloading and concurrent requests can change these figures. Prompt-processing speed is input throughput, not time to first token. Check the full setup before comparing.

Original historical dasLLAMA/Gaijin Entertainment benchmark, measured 2026-09-23. This report is the llama.cpp arm for gemma-4-12B-it, Q4_K_M. The paired runtime is a separate measured configuration, not a second sample averaged into this headline. Source: https://github.com/GaijinEntertainment/daScript/blob/fa7ce426490e882a60377b99914d626d2c2e2ccb/modules/dasLLAMA/performance/records/m4.json Hardware, captured in this row: Mac16,11, Apple M4 Pro, 14 CPU cores including 10 performance cores, 20-core GPU, 64 GB unified memory, arm64, macOS 26.5.2, remote desktop off. Apple identifies Mac16,11 as Mac mini 2024: https://support.apple.com/en-me/102852 . CPU worker threads 10. Installed unified memory is not dedicated VRAM or model residency; no resident/peak model-memory value or disk capacity is recorded. GPU quantity: 1. The measured commit's ggml-metal-device.m creates MTLCreateSystemDefaultDevice and explicitly identifies it as the single physical device, physical index 0. Additional GGML_METAL_DEVICES indices, if configured, are virtual devices on that same physical GPU. The recorded backend is Metal with -ngl 99 and no RPC endpoint. This establishes one participating physical GPU without guessing from computer count. Runtime: llama.cpp commit 6fdd0ac89, stock Metal build, 10 CPU threads. The exact binary hash/build number is not published. The recorded native command supplies -ngl 99 -p 512 -n 128 -r 5 -t 10. Source defaults at this commit are batch 2048, microbatch 512, K/V f16, Flash Attention auto, main GPU 0, layer split and automatic load mode. Auto is not rewritten as confirmed Flash Attention on. Native results: PP512 284.509906 tokens/s, sample SD 0.21911; TG128 29.075128 tokens/s, sample SD 0.03091. These are actual native processing counts: 512 synthetic prompt positions in PP, 128 serial synthetic decode positions in TG. They are not one 512-input/128-output chat request, context capacity, maximum output budget or achieved visible text length. PP times 512 synthetic token IDs through llama_decode and llama_synchronize; TG times 128 serial single-token llama_decode calls with synchronization after each. They are separate tests starting from cleared state, with zero pre-existing depth. TG does not sample model answers. Mean and sample SD are the native five-repetition rate statistics retained by the source. Model load and warmup are excluded. PP warmup processes 512 tokens; TG warmup processes one token. Timers are native loop wall time, not HTTP or isolated GPU-kernel clocks. No independently measured TTFT exists; no 512/PP proxy is promoted to TTFT. Context and conditions: The logged commit requests n_ctx=prompt+generation+depth separately for each native test: 512 for PP and 128 for TG at depth 0. Effective allocator-rounded context is not logged; the headline context field remains unknown. The source's separate batched command requests context 4096, batch 2048, microbatch 512, Flash Attention on, four streams each PP512/TG128. The recorded invocation does not request NextN/MTP speculative decoding or a separate drafter. A carrier filename containing MTP does not make this a speculative text benchmark. Internal native Metal kernel scheduling/encode-ahead is part of the measured implementation; it is not removed or relabeled. The source provides aggregate means/SD only for these cells, so the five individual samples cannot be independently reconstructed. No longer-context performance is inferred. Separate batching evidence: tg128@4 30.97799949645996 tokens/s, sample SD 0.008366791531443596. The separate four-stream value is source-reported summed S_TG from llama-batched-bench, not per-user speed or the single-stream headline. Its native decode-call clock differs from dasLLAMA's whole scheduler-step clock, so the batched pair is not asserted to have identical overhead boundaries. It was not reconstructed from individual batched trials here. Paired dasLLAMA single-stream source values are PP512 298.4553201059128 and TG128 30.93725977773783 tokens/s. Runtime/kernel tuning and allocation differ, so this is a same-carrier comparison with disclosed implementation differences. Weights: upstream lmstudio-community/gemma-4-12B-it-GGUF, file gemma-4-12B-it-Q4_K_M.gguf. Pinned verified artifact: https://huggingface.co/lmstudio-community/gemma-4-12B-it-GGUF/blob/40b870babe39398ce917bbf4b4ff9b5a1f12710e/gemma-4-12B-it-Q4_K_M.gguf . SHA-256 95d83ba36642b1f385fb906b5962a71763361be3bac930a709945f72d97473f8; exact on-disk file length 7381382944 bytes. Both source runtime receipts record that same hash and length. Public HF HEAD metadata matches both, with no weight download. This proves exact tested file contents are available at revision 40b870babe39398ce917bbf4b4ff9b5a1f12710e; it does not prove the original download used that revision. Original HF download revision is unknown. Catalog lines 447-449 say no current upstream revision matches local bytes. Live HF main and commit-pinned HEAD plus raw LFS pointer now match both hash and bytes, so that catalog caveat is stale as of verification. Original download revision still was not recorded. Quantization: Q4_K_M is the source artifact's disk format/recipe, supported by upstream filename, catalog and matching file hash. The record's top-level quant=q8 is the das loader/activation dispatch mode; it does not identify the disk weight format or KV precision. Runtime execution format is preserved above. Source engine metadata records total parameters 11.907350576B and active 11.90658048B; those loader-counted quantities are retained without turning effective-size names into nominal parameter claims. No model-weight bytes are treated as resident RAM. Measurement implementation: https://github.com/ggml-org/llama.cpp/blob/6fdd0ac89/tools/llama-bench/llama-bench.cpp . Device binding: https://github.com/ggml-org/llama.cpp/blob/6fdd0ac89/ggml/src/ggml-metal/ggml-metal-device.m . The archived record snapshot was checked byte-for-byte against its pinned public source. CPU-only, audio and image workloads are excluded from this report. LlamaPerf structured rates are rounded to 0.1 tokens/s to match the form precision; the exact source means and SDs are retained above.

Oct 13, 2026
Apple hardware
generation:
54.2 tokens/s
prompt processing (prefill):
730.9 tokens/s
quant:
UD-Q4_K_M (GGUF)
kv:
F16

Reported by the source; GPU count, offloading and concurrent requests can change these figures. Prompt-processing speed is input throughput, not time to first token. Check the full setup before comparing.

Original historical dasLLAMA/Gaijin Entertainment benchmark, measured 2026-09-23. This report is the llama.cpp arm for gemma-4-26B-A4B-it, UD-Q4_K_M. The paired runtime is a separate measured configuration, not a second sample averaged into this headline. Source: https://github.com/GaijinEntertainment/daScript/blob/fa7ce426490e882a60377b99914d626d2c2e2ccb/modules/dasLLAMA/performance/records/m4.json Hardware, captured in this row: Mac16,11, Apple M4 Pro, 14 CPU cores including 10 performance cores, 20-core GPU, 64 GB unified memory, arm64, macOS 26.5.2, remote desktop off. Apple identifies Mac16,11 as Mac mini 2024: https://support.apple.com/en-me/102852 . CPU worker threads 10. Installed unified memory is not dedicated VRAM or model residency; no resident/peak model-memory value or disk capacity is recorded. GPU quantity: 1. The measured commit's ggml-metal-device.m creates MTLCreateSystemDefaultDevice and explicitly identifies it as the single physical device, physical index 0. Additional GGML_METAL_DEVICES indices, if configured, are virtual devices on that same physical GPU. The recorded backend is Metal with -ngl 99 and no RPC endpoint. This establishes one participating physical GPU without guessing from computer count. Runtime: llama.cpp commit 6fdd0ac89, stock Metal build, 10 CPU threads. The exact binary hash/build number is not published. The recorded native command supplies -ngl 99 -p 512 -n 128 -r 5 -t 10. Source defaults at this commit are batch 2048, microbatch 512, K/V f16, Flash Attention auto, main GPU 0, layer split and automatic load mode. Auto is not rewritten as confirmed Flash Attention on. Native results: PP512 730.939243 tokens/s, sample SD 2.908696; TG128 54.234694 tokens/s, sample SD 0.081852. These are actual native processing counts: 512 synthetic prompt positions in PP, 128 serial synthetic decode positions in TG. They are not one 512-input/128-output chat request, context capacity, maximum output budget or achieved visible text length. PP times 512 synthetic token IDs through llama_decode and llama_synchronize; TG times 128 serial single-token llama_decode calls with synchronization after each. They are separate tests starting from cleared state, with zero pre-existing depth. TG does not sample model answers. Mean and sample SD are the native five-repetition rate statistics retained by the source. Model load and warmup are excluded. PP warmup processes 512 tokens; TG warmup processes one token. Timers are native loop wall time, not HTTP or isolated GPU-kernel clocks. No independently measured TTFT exists; no 512/PP proxy is promoted to TTFT. Context and conditions: The logged commit requests n_ctx=prompt+generation+depth separately for each native test: 512 for PP and 128 for TG at depth 0. Effective allocator-rounded context is not logged; the headline context field remains unknown. The source's separate batched command requests context 4096, batch 2048, microbatch 512, Flash Attention on, four streams each PP512/TG128. The recorded invocation does not request NextN/MTP speculative decoding or a separate drafter. A carrier filename containing MTP does not make this a speculative text benchmark. Internal native Metal kernel scheduling/encode-ahead is part of the measured implementation; it is not removed or relabeled. The source provides aggregate means/SD only for these cells, so the five individual samples cannot be independently reconstructed. No longer-context performance is inferred. Separate batching evidence: tg128@4 93.02999877929688 tokens/s, sample SD 0.018707185983657837. The separate four-stream value is source-reported summed S_TG from llama-batched-bench, not per-user speed or the single-stream headline. Its native decode-call clock differs from dasLLAMA's whole scheduler-step clock, so the batched pair is not asserted to have identical overhead boundaries. It was not reconstructed from individual batched trials here. Paired dasLLAMA single-stream source values are PP512 818.6770300956969 and TG128 60.42470991547573 tokens/s. Runtime/kernel tuning and allocation differ, so this is a same-carrier comparison with disclosed implementation differences. Weights: upstream unsloth/gemma-4-26B-A4B-it-GGUF, file gemma-4-26B-A4B-it-UD-Q4_K_M.gguf. Pinned verified artifact: https://huggingface.co/unsloth/gemma-4-26B-A4B-it-GGUF/blob/c099eb48e663fd284577b04978a94ffccb261841/gemma-4-26B-A4B-it-UD-Q4_K_M.gguf . SHA-256 f2c28b3dc4776931ac6f879e11f203dec637ea0f14267a86ec8f6165f63f293f; exact on-disk file length 16947541728 bytes. Both source runtime receipts record that same hash and length. Public HF HEAD metadata matches both, with no weight download. This proves exact tested file contents are available at revision c099eb48e663fd284577b04978a94ffccb261841; it does not prove the original download used that revision. Original HF download revision is unknown. Local alias gemma-4-26B-A4B-it-Q4_K_M.gguf differs from the upstream filename; exact hash and length establish the mapping. Local benchmark filename differs from upstream filename; alias resolved by exact SHA-256 and byte count, not by name alone. Quantization: UD-Q4_K_M is the source artifact's disk format/recipe, supported by upstream filename, catalog and matching file hash. The record's top-level quant=q8 is the das loader/activation dispatch mode; it does not identify the disk weight format or KV precision. Runtime execution format is preserved above. Source engine metadata records total parameters 25.233142046B and active 3.286564864B; those loader-counted quantities are retained without turning effective-size names into nominal parameter claims. No model-weight bytes are treated as resident RAM. Measurement implementation: https://github.com/ggml-org/llama.cpp/blob/6fdd0ac89/tools/llama-bench/llama-bench.cpp . Device binding: https://github.com/ggml-org/llama.cpp/blob/6fdd0ac89/ggml/src/ggml-metal/ggml-metal-device.m . The archived record snapshot was checked byte-for-byte against its pinned public source. CPU-only, audio and image workloads are excluded from this report. LlamaPerf structured rates are rounded to 0.1 tokens/s to match the form precision; the exact source means and SDs are retained above.

Oct 13, 2026
Apple hardware
generation:
12.6 tokens/s
prompt processing (prefill):
123.9 tokens/s
quant:
Q4_K_M (GGUF)
kv:
F16

Reported by the source; GPU count, offloading and concurrent requests can change these figures. Prompt-processing speed is input throughput, not time to first token. Check the full setup before comparing.

Original historical dasLLAMA/Gaijin Entertainment benchmark, measured 2026-09-22. This report is the llama.cpp arm for Qwen3.6-27B, Q4_K_M. The paired runtime is a separate measured configuration, not a second sample averaged into this headline. Source: https://github.com/GaijinEntertainment/daScript/blob/fa7ce426490e882a60377b99914d626d2c2e2ccb/modules/dasLLAMA/performance/records/m4.json Hardware, captured in this row: Mac16,11, Apple M4 Pro, 14 CPU cores including 10 performance cores, 20-core GPU, 64 GB unified memory, arm64, macOS 26.5.2, remote desktop off. Apple identifies Mac16,11 as Mac mini 2024: https://support.apple.com/en-me/102852 . CPU worker threads 10. Installed unified memory is not dedicated VRAM or model residency; no resident/peak model-memory value or disk capacity is recorded. GPU quantity: 1. The measured commit's ggml-metal-device.m creates MTLCreateSystemDefaultDevice and explicitly identifies it as the single physical device, physical index 0. Additional GGML_METAL_DEVICES indices, if configured, are virtual devices on that same physical GPU. The recorded backend is Metal with -ngl 99 and no RPC endpoint. This establishes one participating physical GPU without guessing from computer count. Runtime: llama.cpp commit 6fdd0ac89, stock Metal build, 10 CPU threads. The exact binary hash/build number is not published. The recorded native command supplies -ngl 99 -p 512 -n 128 -r 5 -t 10. Source defaults at this commit are batch 2048, microbatch 512, K/V f16, Flash Attention auto, main GPU 0, layer split and automatic load mode. Auto is not rewritten as confirmed Flash Attention on. Native results: PP512 123.908607 tokens/s, sample SD 0.040814; TG128 12.621998 tokens/s, sample SD 0.061483. These are actual native processing counts: 512 synthetic prompt positions in PP, 128 serial synthetic decode positions in TG. They are not one 512-input/128-output chat request, context capacity, maximum output budget or achieved visible text length. PP times 512 synthetic token IDs through llama_decode and llama_synchronize; TG times 128 serial single-token llama_decode calls with synchronization after each. They are separate tests starting from cleared state, with zero pre-existing depth. TG does not sample model answers. Mean and sample SD are the native five-repetition rate statistics retained by the source. Model load and warmup are excluded. PP warmup processes 512 tokens; TG warmup processes one token. Timers are native loop wall time, not HTTP or isolated GPU-kernel clocks. No independently measured TTFT exists; no 512/PP proxy is promoted to TTFT. Context and conditions: The logged commit requests n_ctx=prompt+generation+depth separately for each native test: 512 for PP and 128 for TG at depth 0. Effective allocator-rounded context is not logged; the headline context field remains unknown. The source's separate batched command requests context 4096, batch 2048, microbatch 512, Flash Attention on, four streams each PP512/TG128. The recorded invocation does not request NextN/MTP speculative decoding or a separate drafter. A carrier filename containing MTP does not make this a speculative text benchmark. Internal native Metal kernel scheduling/encode-ahead is part of the measured implementation; it is not removed or relabeled. The source provides aggregate means/SD only for these cells, so the five individual samples cannot be independently reconstructed. No longer-context performance is inferred. Separate batching evidence: tg128@4 13.369999885559082 tokens/s, sample SD not reported. The separate four-stream value is source-reported summed S_TG from llama-batched-bench, not per-user speed or the single-stream headline. Its native decode-call clock differs from dasLLAMA's whole scheduler-step clock, so the batched pair is not asserted to have identical overhead boundaries. It was not reconstructed from individual batched trials here. Paired dasLLAMA single-stream source values are PP512 126.39388145526569 and TG128 12.945155142368549 tokens/s. Runtime/kernel tuning and allocation differ, so this is a same-carrier comparison with disclosed implementation differences. Weights: upstream unsloth/Qwen3.6-27B-MTP-GGUF, file Qwen3.6-27B-Q4_K_M.gguf. Pinned verified artifact: https://huggingface.co/unsloth/Qwen3.6-27B-MTP-GGUF/blob/5cb35eb3dcbf52dbce5f87dbc64df6aaffadcace/Qwen3.6-27B-Q4_K_M.gguf . SHA-256 a7cbd3ecc0e3f9b333edee61ae66bc87ed713c5d49587a8355814722ed329e0f; exact on-disk file length 17106773120 bytes. Both source runtime receipts record that same hash and length. Public HF HEAD metadata matches both, with no weight download. This proves exact tested file contents are available at revision 5cb35eb3dcbf52dbce5f87dbc64df6aaffadcace; it does not prove the original download used that revision. Original HF download revision is unknown. Local alias Qwen3.6-27B-MTP-Q4_K_M.gguf differs from the upstream filename; exact hash and length establish the mapping. Local benchmark filename differs from upstream filename; alias resolved by exact SHA-256 and byte count, not by name alone. Quantization: Q4_K_M is the source artifact's disk format/recipe, supported by upstream filename, catalog and matching file hash. The record's top-level quant=q8 is the das loader/activation dispatch mode; it does not identify the disk weight format or KV precision. Runtime execution format is preserved above. Source engine metadata records total parameters 27.320697856B and active 23.84986112B; those loader-counted quantities are retained without turning effective-size names into nominal parameter claims. No model-weight bytes are treated as resident RAM. Measurement implementation: https://github.com/ggml-org/llama.cpp/blob/6fdd0ac89/tools/llama-bench/llama-bench.cpp . Device binding: https://github.com/ggml-org/llama.cpp/blob/6fdd0ac89/ggml/src/ggml-metal/ggml-metal-device.m . The archived record snapshot was checked byte-for-byte against its pinned public source. CPU-only, audio and image workloads are excluded from this report. LlamaPerf structured rates are rounded to 0.1 tokens/s to match the form precision; the exact source means and SDs are retained above.

Oct 13, 2026
Apple hardware
generation:
48.6 tokens/s
prompt processing (prefill):
747.1 tokens/s
quant:
UD-Q4_K_M (GGUF)
kv:
F16

Reported by the source; GPU count, offloading and concurrent requests can change these figures. Prompt-processing speed is input throughput, not time to first token. Check the full setup before comparing.

Original historical dasLLAMA/Gaijin Entertainment benchmark, measured 2026-09-22. This report is the llama.cpp arm for Qwen3.6-35B-A3B, UD-Q4_K_M. The paired runtime is a separate measured configuration, not a second sample averaged into this headline. Source: https://github.com/GaijinEntertainment/daScript/blob/fa7ce426490e882a60377b99914d626d2c2e2ccb/modules/dasLLAMA/performance/records/m4.json Hardware, captured in this row: Mac16,11, Apple M4 Pro, 14 CPU cores including 10 performance cores, 20-core GPU, 64 GB unified memory, arm64, macOS 26.5.2, remote desktop off. Apple identifies Mac16,11 as Mac mini 2024: https://support.apple.com/en-me/102852 . CPU worker threads 10. Installed unified memory is not dedicated VRAM or model residency; no resident/peak model-memory value or disk capacity is recorded. GPU quantity: 1. The measured commit's ggml-metal-device.m creates MTLCreateSystemDefaultDevice and explicitly identifies it as the single physical device, physical index 0. Additional GGML_METAL_DEVICES indices, if configured, are virtual devices on that same physical GPU. The recorded backend is Metal with -ngl 99 and no RPC endpoint. This establishes one participating physical GPU without guessing from computer count. Runtime: llama.cpp commit 6fdd0ac89, stock Metal build, 10 CPU threads. The exact binary hash/build number is not published. The recorded native command supplies -ngl 99 -p 512 -n 128 -r 5 -t 10. Source defaults at this commit are batch 2048, microbatch 512, K/V f16, Flash Attention auto, main GPU 0, layer split and automatic load mode. Auto is not rewritten as confirmed Flash Attention on. Native results: PP512 747.096795 tokens/s, sample SD 4.923144; TG128 48.559608 tokens/s, sample SD 0.150099. These are actual native processing counts: 512 synthetic prompt positions in PP, 128 serial synthetic decode positions in TG. They are not one 512-input/128-output chat request, context capacity, maximum output budget or achieved visible text length. PP times 512 synthetic token IDs through llama_decode and llama_synchronize; TG times 128 serial single-token llama_decode calls with synchronization after each. They are separate tests starting from cleared state, with zero pre-existing depth. TG does not sample model answers. Mean and sample SD are the native five-repetition rate statistics retained by the source. Model load and warmup are excluded. PP warmup processes 512 tokens; TG warmup processes one token. Timers are native loop wall time, not HTTP or isolated GPU-kernel clocks. No independently measured TTFT exists; no 512/PP proxy is promoted to TTFT. Context and conditions: The logged commit requests n_ctx=prompt+generation+depth separately for each native test: 512 for PP and 128 for TG at depth 0. Effective allocator-rounded context is not logged; the headline context field remains unknown. The source's separate batched command requests context 4096, batch 2048, microbatch 512, Flash Attention on, four streams each PP512/TG128. The recorded invocation does not request NextN/MTP speculative decoding or a separate drafter. A carrier filename containing MTP does not make this a speculative text benchmark. Internal native Metal kernel scheduling/encode-ahead is part of the measured implementation; it is not removed or relabeled. The source provides aggregate means/SD only for these cells, so the five individual samples cannot be independently reconstructed. No longer-context performance is inferred. Separate batching evidence: tg128@4 75.1760009765625 tokens/s, sample SD 0.028809519484639168. The separate four-stream value is source-reported summed S_TG from llama-batched-bench, not per-user speed or the single-stream headline. Its native decode-call clock differs from dasLLAMA's whole scheduler-step clock, so the batched pair is not asserted to have identical overhead boundaries. It was not reconstructed from individual batched trials here. Paired dasLLAMA single-stream source values are PP512 787.0685695116548 and TG128 66.40059657419576 tokens/s. Runtime/kernel tuning and allocation differ, so this is a same-carrier comparison with disclosed implementation differences. Weights: upstream unsloth/Qwen3.6-35B-A3B-MTP-GGUF, file Qwen3.6-35B-A3B-UD-Q4_K_M.gguf. Pinned verified artifact: https://huggingface.co/unsloth/Qwen3.6-35B-A3B-MTP-GGUF/blob/5bc3e238d916f48a861bac2f8a1990a0e9b7e98d/Qwen3.6-35B-A3B-UD-Q4_K_M.gguf . SHA-256 0b21525e972670ed59e1812e170b27c26355381f0656ecc4e25617ece7dac58b; exact on-disk file length 22663387424 bytes. Both source runtime receipts record that same hash and length. Public HF HEAD metadata matches both, with no weight download. This proves exact tested file contents are available at revision 5bc3e238d916f48a861bac2f8a1990a0e9b7e98d; it does not prove the original download used that revision. Original HF download revision is unknown. Local alias Qwen3.6-35B-A3B-MTP-UD-Q4_K_M.gguf differs from the upstream filename; exact hash and length establish the mapping. Local benchmark filename differs from upstream filename; alias resolved by exact SHA-256 and byte count, not by name alone. Quantization: UD-Q4_K_M is the source artifact's disk format/recipe, supported by upstream filename, catalog and matching file hash. The record's top-level quant=q8 is the das loader/activation dispatch mode; it does not identify the disk weight format or KV precision. Runtime execution format is preserved above. Source engine metadata records total parameters 35.505251456B and active 2.86261248B; those loader-counted quantities are retained without turning effective-size names into nominal parameter claims. No model-weight bytes are treated as resident RAM. Measurement implementation: https://github.com/ggml-org/llama.cpp/blob/6fdd0ac89/tools/llama-bench/llama-bench.cpp . Device binding: https://github.com/ggml-org/llama.cpp/blob/6fdd0ac89/ggml/src/ggml-metal/ggml-metal-device.m . The archived record snapshot was checked byte-for-byte against its pinned public source. CPU-only, audio and image workloads are excluded from this report. LlamaPerf structured rates are rounded to 0.1 tokens/s to match the form precision; the exact source means and SDs are retained above.

Oct 13, 2026
Apple hardware
generation:
20.5 tokens/s
prompt processing (prefill):
126.9 tokens/s
quant:
PQ2_0 (GGUF)
kv:
F16
flash attention:
on

Reported by the source; GPU count, offloading and concurrent requests can change these figures. Prompt-processing speed is input throughput, not time to first token. Check the full setup before comparing.

User reports a sourced third-party community benchmark of Bonsai 2 27B PQ2_0 on one Apple Mac mini M4 Pro with 64 GB unified memory. Prompt processing pp512 measured 126.89 +/- 0.02 tokens/second and token generation tg128 measured 20.53 +/- 0.01 tokens/second. Setup is llama.cpp PrismML fork (tag prism-b10709-9a9394a) with PQ2_0 GGUF and default F16 KV cache, 10 threads, -ngl 99, flash attention enabled, Metal/BLAS backend. The two figures are separate synthetic llama-bench tests with three repetitions each, not a paired chat request. Caveats: Spotlight indexing consumed approximately 1.5-2 CPU cores throughout the runs; an unrelated 664 MB embedding model reappeared between runs; no swap pressure was observed. The 6.70 GiB GGUF size is a file size, not measured resident or peak RAM. Peak RAM, configured maximum context, exact weight revision, binary hash, and exact measurement date are unknown.

Oct 9, 2026
Showing 1–14 of 14
Page 1 of 1

Community benchmarks snapshot

Records by GPU

AMD Strix Halo 128GB294NVIDIA RTX 3090190NVIDIA RTX 5090134NVIDIA DGX Spark77M5 Max 48GB65NVIDIA RTX Pro 6000 Blackwell62NVIDIA RTX 5060 Ti 16GB58NVIDIA RTX 3060 12GB54AMD Radeon AI PRO R9700 32GB50M4 Max 128GB49

Records by model

2211 total
Qwen3.81021
Qwen3.6238
DeepSeek V4 Flash147
Gemma 4144
Qwen3.597
Qwen353
other511

Records by engine

1645 total
llama.cpp875
vLLM189
MLX100
Strata70
Ollama62
other349

Use cases

coding 556agentic 357long-context 272tool-use 153vision 109summarization 53math 43creative-writing 37multilingual 23text-generation 9rp 8reasoning 3
coding556agentic357long-context272tool-use153vision109summarization53math43creative-writing37

Median generation t/s by GPU

On Qwen3.8 27B at 4-bit, plain single-GPU runs. Full ranking

RTX 509082RTX Pro 600067M5 Ultra 256GB50RX 7900 XTX48RTX 309036RTX 5090 Laptop 24GB34RTX 409032V100 32GB31Radeon AI PRO R9700 32GB30RX 7800 XT 16GB30

Prompt processing, same model

M5 Ultra 256GB1800RX 7900 XTX530RTX 3090561RTX 40901949V100 32GB941RTX 3080 20GB997Arc Pro B70512M1 Ultra 128GB153Arc Pro B60 24GB380M1 Max 32GB82

Reports by model size

Qwen3.8 27B566Qwen3.8 125B · 6B active371DeepSeek V4 Flash 284B · 13B active130Qwen3.6 35B · 3B active129Qwen3.6 27B72Gemma 4 26B · 4B active36GLM-5.3 320B · 18B active33DeepSeek V4.1 Flash 552B · 16B active28

Quants

Q4_K_M290UD-Q4_K_XL140NVFP4120Q8_0984-bit79Q4_K_XL71IQ4_XS70MXFP458IQ3_XXS52Q450