Skip to content

Wyn Benchmarks

March 2026 — Updated with honest numbers

All benchmarks run on Apple M4, wyn build (clang -O2). Run them yourself:

bash
cd wyn
./wyn build tests/benchmarks/bench_suite.wyn && ./tests/benchmarks/bench_suite
./wyn build tests/benchmarks/spawn_benchmark.wyn && ./tests/benchmarks/spawn_benchmark

CPU: Fibonacci(35)

BackendTime
wyn build (clang -O2)~33ms
wyn run (TCC)~120ms

Wyn emits C and compiles with the system C compiler. CPU-bound performance is determined by the C compiler's optimizer, not Wyn.

Concurrency

MetricValue
Spawn overhead~6 μs/op
4x fib(35) parallel~33ms (4x speedup)
10K spawn+await~47ms
Thread poolCPU-count threads, 512KB stacks

Since v1.10, spawn uses a real OS thread pool instead of coroutines. Each spawned task runs on a worker thread, giving true multi-core parallelism.

Build Speed

CommandTime
wyn build (clang)~1.1s
wyn run (TCC)~1.9s

Binary Size

A typical Wyn program compiles to ~50KB (statically linked runtime).

What We Don't Benchmark

We don't compare against Go, Rust, or Python because:

  1. Wyn's runtime is much younger — comparisons would be misleading
  2. CPU-bound code performance depends on the C compiler, not Wyn
  3. Concurrency overhead (~20μs/spawn) is adequate for real workloads but not competitive with Go (~1μs/goroutine)

When Wyn's runtime matures, we'll publish honest cross-language comparisons with reproducible methodology.

For current cross-language numbers, see the benchmarks documentation.

MIT License — v1.11