Benchmarks
Language comparison of cx against C, C++, Rust, Go, Odin, and Zig on
the bench corpus, followed by performance history of the compiler and
compiled programs, one point per main commit. Hover a
history graph for values, click a point to open the commit. Runners are
shared GitHub machines, so single points wobble: trends and step changes
are the signal. Corpus and method are documented in bench/. The last history graph tracks
non-blank lines of tracked files instead of timing anything.
Language comparison
Each chart is one measurement. The ratio on each bar is against the fastest language in that chart.
Unoptimized debug is the development build. cx omits --release, so safety checks stay on and both the LLVM IR pipeline and codegen optimizations are skipped. C and C++ use -O0 -g. Rust uses opt-level 0 with debug assertions, overflow checks, and full debug info. Go disables optimizations and inlining with -gcflags=all=-N -l, including the standard library. Odin uses -debug, which selects -o:none. Zig uses -ODebug; its release build is -OReleaseFast.
Debug compile time is a rebuild of that development build. One untimed compile warms the standard-library cache first. Each sample is a separate copy of the source, so an unchanged-file cache hit is not what gets timed. ccache is disabled.