====================================================== BENCHMARKS — faster than C, checksums shown best-of-7 · zen5 · windows x86-64 ======================================================
The same algorithm runs in Zephyr, C (gcc -O2), and Rust (rustc -O). All three must produce a byte-identical result before a single timing counts.
Zephyr wins where it hunts for loops LLVM leaves on the table — matmul's inner loop gets a hand-written 4-wide AVX2 kernel where LLVM settles for 2-wide SSE2. Not universally faster. Verifiably faster here, and honest about the rest.
Lower is faster. Zephyr's column is highlighted; the verdict names the closest competitor.
| Workload | Zephyr | C −O2 | Rust −O | Result |
|---|---|---|---|---|
| integer SIMD (matmul) | 42 | 72 | 70 | wins both |
| rasterization (cube) | 8 | 10 | 11 | wins both |
| bignum (pi) | 66 | 84 | 91 | wins both |
| alloc / GC (strings) | 132 | 172 | 148 | wins both |
| sorting | 139 | 276 | 43 | 2× faster than C |
| recursion (fib) | 21 | 12 | 21 | ties Rust |
| hash map | 83 | 32 | 69 | ties Rust |
| float compute (mandel) | 109 | 88 | 90 | within 1.2× |
all times in ms · peak memory lowest of the three on most rows · compiles ~10× faster than gcc/rustc
$ .\bench\run_matmul.ps1 $ .\bench\run_cube.ps1 # checksum verified, then timed, best-of-7