Results for 38 of 40 languages from this run on actest1.

Unavailable in this run: Hack, Lisp. Follow the run link for failure details.

Wren VS C++ benchmarks

Current benchmark data was generated on Sun Sep 27 2026, full log can be found HERE

CONTRIBUTIONS are WELCOME!

[x86_64][4 cores] Intel(R) Core(TM) i7-3687U CPU @ 2.10GHz (Model 58)

* -m in a file name stands for multi-threading or multi-processing

* -i in a file name stands for direct intrinsics usage. (Usage of simd intrinsics via libraries is not counted)

* -ffi in a file name stands for non-stdlib FFI usage

* (You may find time < time(user) + time(sys) for some non-parallelized programs, the overhead is from GC or JIT compiler, which are allowed to take advantage of multi-cores as that's more close to real-world scenarios.)

binarytrees

Input: 18

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wren 1.wren 18359ms 175ms 122.3MB 18307ms 37ms wren 0.4.0

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wren 1.wren 1601ms 19ms 122.2MB 1547ms 37ms wren 0.4.0

coro-prime-sieve

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wren 1.wren 604ms 4.3ms 4.7MB 590ms 0ms wren 0.4.0

Input: 1000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wren 1.wren 45ms 1.6ms 3.2MB 37ms 0ms wren 0.4.0

helloworld

Input: QwQ

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
cpp 1.cpp 1.1ms 0.2ms 1.5MB 0ms 0ms g++ 13.3.0
cpp 1.cpp 1.7ms 0.3ms 1.5MB 0ms 0ms clang++ 18.1.3
wren 1.wren 3.2ms 1.0ms 2.4MB 0ms 0ms wren 0.4.0

nbody

Input: 5000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
cpp 0-i.cpp 219ms 0.7ms 1.0MB 210ms 0ms g++ 13.3.0
cpp 0-i.cpp 225ms 20ms 1.6MB 217ms 0ms clang++ 18.1.3
cpp 1.cpp 387ms 4.1ms 1.6MB 377ms 0ms clang++ 18.1.3
cpp 1.cpp 734ms 2.2ms 1.1MB 723ms 0ms g++ 13.3.0
wren 1.wren 80930ms 4424ms 135.7MB 80847ms 60ms wren 0.4.0

Input: 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
cpp 0-i.cpp 24ms 1.0ms 1.6MB 13ms 0ms clang++ 18.1.3
cpp 0-i.cpp 24ms 0.2ms 1.1MB 10ms 0ms g++ 13.3.0
cpp 1.cpp 42ms 0.7ms 1.5MB 30ms 0ms clang++ 18.1.3
cpp 1.cpp 77ms 0.2ms 1.1MB 70ms 0ms g++ 13.3.0
wren 1.wren 7840ms 216ms 135.6MB 7780ms 43ms wren 0.4.0

spectral-norm

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
cpp 6-im.cpp 2915ms 1.5ms 5.5MB 11537ms 7ms clang++ 18.1.3
cpp 6-im.cpp 2917ms 0.5ms 2.4MB 11547ms 3ms g++ 13.3.0
cpp 8-m.cpp 2934ms 0.7ms 3.3MB 11603ms 3ms clang++ 18.1.3
cpp 8-m.cpp 2973ms 15ms 2.4MB 11770ms 3ms g++ 13.3.0
wren 1.wren timeout (300s) — — — — wren 0.4.0

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
cpp 6-im.cpp 734ms 0.8ms 1.4MB 2880ms 0ms g++ 13.3.0
cpp 8-m.cpp 741ms 3.9ms 3.3MB 2880ms 3ms clang++ 18.1.3
cpp 8-m.cpp 748ms 5.3ms 1.4MB 2943ms 0ms g++ 13.3.0
cpp 6-im.cpp 748ms 21ms 3.4MB 2880ms 7ms clang++ 18.1.3
wren 1.wren timeout (120s) — — — — wren 0.4.0

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
cpp 6-im.cpp 189ms 0.5ms 1.4MB 713ms 0ms g++ 13.3.0
cpp 8-m.cpp 192ms 2.2ms 1.4MB 723ms 0ms g++ 13.3.0
cpp 8-m.cpp 197ms 5.8ms 3.4MB 717ms 0ms clang++ 18.1.3
cpp 6-im.cpp 198ms 15ms 5.4MB 723ms 3ms clang++ 18.1.3
wren 1.wren 44500ms 547ms 7.7MB 44483ms 0ms wren 0.4.0