tritium
04Benchmarks

Every number, with its method attached.

Same host (AMD Ryzen 9 8945HX, Zen 4, AVX-512 VNNI), greedy decoding, 32 tokens, median of three invocations per baseline. Tritium decodes the four-prompt suite; the baselines generate from an empty context, because llama-bench takes no prompt file. Both are steady-state batch-1 decode.

bitnet.cpp runs the identical checkpoint, so that column is the honest comparison. llama.cpp runs Qwen2.5-3B Q4_K_M because mainline cannot load the i2_s type — a different model at a different quality point. This page should not be read as "ternary beats 4-bit".

510152025303540124816THREADSTOK/Stritium 20.7llama.cpp 23.9bitnet.cpp 31.2
Median of three, 32 tokens, greedy. Tritium leads to four threads, then declines where bitnet.cpp keeps climbing.

Raw rows

2026-08-25bitnet.cppI2_S113.61ok1187 MB file; same checkpoint; f16 token_embd; median of 3
2026-08-25bitnet.cppI2_S219.10ok1187 MB file; same checkpoint; f16 token_embd; median of 3
2026-08-25bitnet.cppI2_S426.72ok1187 MB file; same checkpoint; f16 token_embd; median of 3
2026-08-25bitnet.cppI2_S832.49ok1187 MB file; same checkpoint; f16 token_embd; median of 3
2026-08-25bitnet.cppI2_S1631.21ok1187 MB file; same checkpoint; f16 token_embd; median of 3
2026-08-25llama.cppQ4_K_M115.40ok2104 MB file; different model and quality point; median of 3
2026-08-25llama.cppQ4_K_M222.06ok2104 MB file; different model and quality point; median of 3
2026-08-25llama.cppQ4_K_M427.83ok2104 MB file; different model and quality point; median of 3
2026-08-25llama.cppQ4_K_M826.18ok2104 MB file; different model and quality point; median of 3
2026-08-25llama.cppQ4_K_M1623.88ok2104 MB file; different model and quality point; median of 3
2026-08-25tritiumternary-1.581avx512vnni19.40345.922.8547.41220ok
2026-08-25tritiumternary-1.582avx512vnni26.73243.131.4854.01220ok
2026-08-25tritiumternary-1.584avx512vnni27.90238.832.8557.41220ok
2026-08-25tritiumternary-1.588avx512vnni25.93252.330.5358.01219ok
2026-08-25tritiumternary-1.5816avx512vnni20.72309.424.4049.01218ok
2026-08-23bitnet.cppI2_S112.54ok1187 MB file; same checkpoint; f16 token_embd; median of 3
2026-08-23bitnet.cppI2_S219.64ok1187 MB file; same checkpoint; f16 token_embd; median of 3
2026-08-23bitnet.cppI2_S427.29ok1187 MB file; same checkpoint; f16 token_embd; median of 3
2026-08-23bitnet.cppI2_S831.90ok1187 MB file; same checkpoint; f16 token_embd; median of 3
2026-08-23bitnet.cppI2_S1630.51ok1187 MB file; same checkpoint; f16 token_embd; median of 3
2026-08-23llama.cppQ4_K_M113.91ok2104 MB file; different model and quality point; median of 3
2026-08-23llama.cppQ4_K_M220.01ok2104 MB file; different model and quality point; median of 3
2026-08-23llama.cppQ4_K_M425.54ok2104 MB file; different model and quality point; median of 3
2026-08-23llama.cppQ4_K_M824.72ok2104 MB file; different model and quality point; median of 3
2026-08-23llama.cppQ4_K_M1622.84ok2104 MB file; different model and quality point; median of 3
2026-08-23tritiumternary-1.581avx512vnni13.28499.324.3651.11846ok
2026-08-23tritiumternary-1.582avx512vnni14.61462.726.8056.31846ok
2026-08-23tritiumternary-1.584avx512vnni15.23446.827.9353.91846ok
2026-08-23tritiumternary-1.588avx512vnni15.23445.827.9355.81845ok
2026-08-23tritiumternary-1.5816avx512vnni14.98454.527.4957.41846ok
2026-08-22bitnet.cppI2_S4unavailableno bitnet-cli on PATH; set BITNET_CPP_BIN
2026-08-22llama.cppQ4_K_M4unavailableno llama-bench or llama-cli on PATH; set LLAMA_CPP_BIN
2026-08-22tritiumternary-1.584avx512vnni15.01454.227.5461.62334ok

Unavailable rows are kept: a baseline that was not installed on that date is a fact about the run, not a gap in the table. Hover a truncated note for the full text.

Reproduce every number on this page
export LLAMA_CPP_BIN=/path/to/llama.cpp/build/bin/llama-bench
export LLAMA_GGUF=/path/to/qwen2.5-3b-instruct-q4_k_m.gguf
export BITNET_CPP_BIN=/path/to/bitnet.cpp/build/bin/llama-bench
export BITNET_GGUF=/path/to/ggml-model-i2_s.gguf
for T in 1 2 4 8 16; do
    benches/run.sh --model models/bitnet-2b4t.trit --tokens 32 --threads "$T"
done
The defaults differ from these parameters, so reproduce with exactly this invocation. Every performance claim ships with a script; a claim without one does not appear here.