Readable C. Go source. Portable ZX. WebAssembly. Follow a real program through the shared checker, inspect its intermediate representation, and compare what each target produces.
Median warm execution per entry, excluding 1.5×IQR outliers. Checked IR is a shared stage and has no execution time. Emission timings come from the desktop build host.
The harness calls the same entry and verifies its result or output; commands and every raw timing sample are in the measurement JSON.
Desktop · Kryon
Real widgets, two frames at a time.
Button activation, text layout and UTF-8 input editing through public Kryon APIs. Includes paint-command generation with recorded output; excludes pixel rasterization and OS I/O.
Desktop widget scenarios compiled to C, Go and portable ZX
All four targets reproduce the independently checked return value or printed output of each source. Compare target behavior and costs on these small programs; the figures describe this run and its host.
Execution
Median warm time after 150 ms of warmup and calibrated batches, excluding symmetric 1.5×IQR outliers. Raw samples and exclusions remain downloadable. Loading, startup, downloads and offline compilation are excluded. Output is verified before timing; formatting and runtime-specific output to a null sink or browser callback remain included. Tiny programs emphasize call and I/O overhead.
Emission
Loading, checking, linking and writing the selected output on the desktop build host. C uses cc -O2 and Go uses go build afterward; those downstream build costs are excluded from emission. ZIR is inspected, not executed.
Size & coverage
Size means emitted files, including C headers and imported modules, rather than linked executable size. ZX uses the portable VM on every platform. WebAssembly runs in V8 on desktop and web, and WAMR AOT on the USB Android phone. Web C uses Emscripten; web Go uses its js/wasm runtime.
The snapshot includes the host, compiler hashes, revision, tool versions and every sample.
Shared host, warm filesystem caches, no CPU isolation. Small examples emphasize call, output and runtime overhead. These measurements are not language rankings or evidence of full target parity.
Compare the same Ziran source across four targets. Inputs are prepared once during warmup; parsing, decoding, output allocation and result validation remain in each call.
alpha · Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz · 2026-11-11 · 11 batches per target. Symmetric 1.5×IQR filtering; every batch checks its result. Process startup, offline compilation and loading are excluded. Wasm uses Node/V8; these are target comparisons, not JavaScript-source comparisons. Unavailable cells retain the compiler diagnostic and have no timing. Raw samples, excluded indices, compiler hashes and outputs ↓