Benchmark results

Machine: arm64 Apple M1 Pro, 32 GB, macOS 26.6.2.

Toolchains: Apple clang version 21.0.0 (clang-2100.3.34.2); rustc 1.88.0 (6b00bc388 2025-06-23); go version go1.23.4 darwin/arm64; Node v24.13.0; Python 3.14.4; Vow: seed compiler, C via clang -O2.

Best of 3 wall-clock runs; memory is the peak memory footprint (including compressed pages). Generated by bench/run.py.

binarytrees (allocation and recursion, input 18)

LanguageTimeRelative to CMemory
Vow0.95 s0.8x49 MB
C1.13 s1.0x17 MB
Rust1.20 s1.1x17 MB
Go1.56 s1.4x43 MB
JavaScript0.60 s0.5x431 MB
Python5.53 s4.9x38 MB

fannkuch (integer arrays and permutations, input 10)

LanguageTimeRelative to CMemory
Vow0.24 s1.4x1 MB
C0.18 s1.0x1 MB
Rust0.19 s1.1x1 MB
Go0.17 s1.0x2 MB
JavaScript0.23 s1.3x13 MB
Python4.45 s25.2x6 MB

knucleotide (strings and hash maps, input knucleotide-input.fa)

LanguageTimeRelative to CMemory
Vow0.17 s3.0x25 MB
C0.06 s1.0x18 MB
Rust0.10 s1.7x15 MB
Go0.11 s1.9x31 MB
JavaScript0.31 s5.3x69 MB
Python0.50 s8.6x23 MB

nbody (floating-point physics, input 5000000)

LanguageTimeRelative to CMemory
Vow0.44 s1.7x1 MB
C0.27 s1.0x1 MB
Rust0.15 s0.6x1 MB
Go0.25 s0.9x2 MB
JavaScript0.37 s1.4x15 MB
Python22.62 s84.3x6 MB

spectralnorm (floating-point loops, input 2000)

LanguageTimeRelative to CMemory
Vow0.25 s1.6x1 MB
C0.16 s1.0x1 MB
Rust0.16 s1.0x1 MB
Go0.16 s1.0x3 MB
JavaScript0.39 s2.5x15 MB
Python20.59 s132.1x6 MB

mandelbrot (floating-point and binary output, input 2000)

LanguageTimeRelative to CMemory
Vow0.25 s1.0x2 MB
C0.25 s1.0x1 MB
Rust0.24 s1.0x2 MB
Go0.24 s1.0x2 MB
JavaScript0.27 s1.1x15 MB
Python25.57 s104.2x6 MB