Performance

Measured: Linux x86_64, g16 (Grok16-16.2.0) 16.2.0, gnu++26. Repo: PERFORMANCE.md.

Speed bench (report v5.0.0)

Suite speed_demo @ 1.1.0 — compile ms + execution ops/s. Full manual: Speed Bench.

SPEED_DEMO_TARGET_SEC=3 ./scripts/grok16-toolchain.sh exec-full-bench
./scripts/grok16-toolchain.sh exec-compare
RunnerCompile (ms)ops/s
C++ — g16 belt_2_0102,843,184.74
C++ — host g++ -O2101,093,393.65
C — g16 belt_1_099,454,820.63
CMake — host g++ -O298,892,364.74
C — host gcc -O297,416,875.40
C — g16 belt_2_095,729,447.71
C++ — g16 belt_1_095,052,367.49
C++ — g16 belt_2_0 (post-meld re-exec)93,388,093.30
C++ — g16 sense belt_2_091,070,985.42
Python — host CPython 3843,828.62
Python — gpy-16 GrokVM755,552.29
Belt triad compile and run comparison
bench-triad — host gcc vs belt_1_0 vs belt_2_0

Belt triad (bench-triad)

Workload: examples/field-nexus-bench — 240 frames, FieldX86 + entropy + wave + NEXUS.

ToolchainProfilecompile_msrun wall_msbinary bytes
host g++-O3 -march=native2078427,264
g16belt_1_01108322,712
g16belt_2_01061322,840

belt_1_0 matches host runtime; belt_2_0 trades compile time for production single-fabric belt.

./scripts/grok16-toolchain.sh bench-triad
cat data/bench/triad-latest.json
Field g16 vs host compile comparison
bench-compare — field g16 vs host gcc/g++
bench-all profile suite
bench-all — field-nexus-bench across profiles

Field-Opt vs baseline

BuildFlagskernel wall_msbinary bytes
baseline-std=gnu++26 -O22.6517144
field_opt / belt_1_0profile flags2.11–2.1922616

Delta: ~19% faster kernel vs -O2 on same source.

Profile suite (bench-all)

Profilecompile_msrun_msbyteskernel
field_opt828–8744–522616wall_ms ~2.1
belt_2_0~3708~522840single fabric
ai7356–718232wall_ms ~4.0
vulkan_rtx864–8764–522728wall_ms ~2.1

Reproduce

export G16_PREFIX="$(pwd)"
export G16_BELT_PROFILE=belt_2_0
./scripts/grok16-toolchain.sh bench-triad
./scripts/grok16-toolchain.sh field-bench
./scripts/grok16-toolchain.sh bench-all

PGO

./scripts/grok16-toolchain.sh profile
G16_ENABLE_PGO=1 ./scripts/grok16-toolchain.sh field-bench