Current benchmark data was generated on Wed Mar 22 2023, full log can be found HERE
CONTRIBUTIONS are WELCOME!
* -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.)
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
zig | 2.zig | 428ms | 1.3ms | 6.1MB | 420ms | 0ms | zig 0.11.0-dev.2227+f9b582950 |
julia | 1.jl | 430ms | 0.9ms | 157.1MB | 393ms | 117ms | julia/aot 1.8.5 |
crystal | 2.cr | 461ms | 0.7ms | 7.7MB | 450ms | 0ms | crystal 1.7.3 |
rust | 2.rs | 479ms | 2.3ms | 6.7MB | 467ms | 0ms | rustc 1.68.0 |
v | 2.v | 506ms | 1.9ms | 10.5MB | 493ms | 0ms | v/clang 0.3.3 |
v | 2.v | 507ms | 0.7ms | 10.5MB | 490ms | 0ms | v/clang+gc 0.3.3 |
julia | 1.jl | 554ms | 5.5ms | 203.1MB | 500ms | 127ms | julia 1.8.5 |
wasm | 2.rs | 562ms | 1.9ms | 20.9MB | 550ms | 0ms | wasmedgec 0.11.2 |
nim | 2.nim | 596ms | 2.2ms | 6.3MB | 583ms | 0ms | nim/clang 1.6.12 |
go | 2.go | 632ms | 3.7ms | 16.6MB | 620ms | 0ms | tinygo 0.27.0 |
cpp | 1.cpp | 650ms | 3.0ms | 7.8MB | 637ms | 0ms | g++ 12.2.0 |
cpp | 1.cpp | 722ms | 2.3ms | 7.4MB | 707ms | 0ms | clang++ 14.0.0 |
nim | 2.nim | 754ms | 137ms | 6.0MB | 743ms | 0ms | nim 1.6.12 |
csharp | 2.cs | 767ms | 4.0ms | 19.9MB | 757ms | 3ms | dotnet/aot 7.0.202 |
wasm | 2.rs | 796ms | 3.6ms | 17.1MB | 783ms | 0ms | wasmtime 7.0.0 |
v | 1.v | 832ms | 28ms | 71.3MB | 807ms | 3ms | v/clang+gc 0.3.3 |
zig | 1.zig | 854ms | 8.7ms | 40.2MB | 827ms | 10ms | zig 0.11.0-dev.2227+f9b582950 |
d | 2.d | 880ms | 1.5ms | 47.5MB | 853ms | 10ms | ldc2 1.31.0 |
odin | 1.odin | 885ms | 26ms | 40.5MB | 860ms | 7ms | odin 2023 |
d | 1.d | 905ms | 4.8ms | 43.5MB | 880ms | 7ms | ldc2 1.31.0 |
go | 2.go | 915ms | 3.0ms | 21.8MB | 890ms | 17ms | go 1.20.2 |
c | 1.c | 922ms | 32ms | 40.8MB | 897ms | 10ms | clang 14.0.0 |
csharp | 2.cs | 935ms | 6.5ms | 36.4MB | 913ms | 0ms | dotnet 7.0.202 |
v | 1.v | 939ms | 40ms | 41.2MB | 920ms | 0ms | v/clang 0.3.3 |
c | 1.c | 950ms | 68ms | 40.1MB | 927ms | 7ms | zigcc 0.11.0-dev.2227+f9b582950 |
go | 1.go | 958ms | 45ms | 72.7MB | 940ms | 3ms | go 1.20.2 |
d | 1.d | 982ms | 27ms | 75.9MB | 957ms | 13ms | dmd 2.102.2 |
c | 1.c | 985ms | 51ms | 41.0MB | 960ms | 7ms | gcc 12.2.0 |
rust | 1.rs | 992ms | 42ms | 40.9MB | 967ms | 10ms | rustc 1.68.0 |
crystal | 1.cr | 994ms | 6.3ms | 42.0MB | 977ms | 3ms | crystal 1.7.3 |
go | 1.go | 1001ms | 25ms | 42.8MB | 977ms | 7ms | tinygo 0.27.0 |
csharp | 1.cs | 1001ms | 26ms | 68.0MB | 973ms | 20ms | dotnet/aot 7.0.202 |
wasm | 1.rs | 1008ms | 22ms | 54.3MB | 987ms | 3ms | wasmedgec 0.11.2 |
java | 2.java | 1018ms | 4.2ms | 52.2MB | 1047ms | 20ms | openjdk 21 |
nim | 1.nim | 1028ms | 28ms | 41.0MB | 1007ms | 10ms | nim 1.6.12 |
java | 2.java | 1031ms | 6.4ms | 52.7MB | 1063ms | 13ms | openjdk 19 |
nim | 1.nim | 1034ms | 43ms | 41.2MB | 1020ms | 0ms | nim/clang 1.6.12 |
java | 1.java | 1040ms | 16ms | 85.5MB | 1053ms | 27ms | openjdk 21 |
java | 2.java | 1042ms | 5.0ms | 49.9MB | 1023ms | 53ms | openjdk/zgc 19 |
codon | 1.py | 1079ms | 7.2ms | 48.3MB | 1053ms | 7ms | codon 0.15.5 |
java | 1.java | 1089ms | 31ms | 84.9MB | 1110ms | 17ms | openjdk 19 |
java | 1.java | 1092ms | 6.4ms | 111.8MB | 1030ms | 90ms | openjdk/zgc 19 |
csharp | 1.cs | 1121ms | 52ms | 86.7MB | 1090ms | 13ms | mono 6.12.0 |
odin | 2.odin | 1203ms | 6.9ms | 6.4MB | 1187ms | 0ms | odin 2023 |
codon | 2.py | 1240ms | 33ms | 81.7MB | 1207ms | 17ms | codon 0.15.5 |
wasm | 2.rs | 1525ms | 3.9ms | 53.9MB | 1507ms | 10ms | node 18.15.0 |
d | 2.d | 1614ms | 4.6ms | 48.9MB | 1583ms | 13ms | dmd 2.102.2 |
wasm | 1.rs | 1720ms | 108ms | 51.3MB | 1703ms | 3ms | wasmtime 7.0.0 |
java | 2-m.java | 1749ms | 22ms | 208.3MB | 3060ms | 87ms | graal/jvm 17.0.6 |
wasm | 1.rs | 1805ms | 21ms | 88.8MB | 1787ms | 7ms | node 18.15.0 |
java | 1-m.java | 1878ms | 75ms | 342.6MB | 2760ms | 97ms | graal/jvm 17.0.6 |
ocaml | 1.ml | 2179ms | 9.5ms | 550.5MB | 2057ms | 103ms | ocaml 5.0.0 |
ocaml | 2.ml | 2403ms | 2.0ms | 19.1MB | 2387ms | 0ms | ocaml 5.0.0 |
csharp | 1.cs | 2417ms | 106ms | 88.2MB | 2367ms | 17ms | dotnet 7.0.202 |
csharp | 2.cs | 2459ms | 3.9ms | 32.4MB | 2440ms | 7ms | mono 6.12.0 |
python | 1.py | 4146ms | 26ms | 388.8MB | 4003ms | 123ms | pypy 3.9.16 |
python | 1.py | timeout | 0.0ms | 321.1MB | 4927ms | 60ms | cpython 3.11.2 |
python | 2.py | timeout | 0.0ms | 633.6MB | 4703ms | 277ms | cpython 3.11.2 |
python | 2.py | timeout | 0.0ms | 1013.7MB | 4707ms | 270ms | pypy 3.9.16 |
python | 1.py | timeout | 0.0ms | 320.5MB | 4897ms | 83ms | pyston 3.8.12 |
python | 2.py | timeout | 0.0ms | 633.1MB | 4643ms | 337ms | pyston 3.8.12 |
ruby | 1.rb | timeout | 0.0ms | 344.5MB | 4847ms | 133ms | ruby 3.2.1 |
ruby | 1.rb | timeout | 0.0ms | 345.2MB | 4830ms | 150ms | ruby/yjit 3.2.1 |
ruby | 1.rb | timeout | 0.0ms | 682.5MB | 5027ms | 163ms | truffleruby 22.3.1 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
zig | 2.zig | 96ms | 1.4ms | 2.3MB | 80ms | 0ms | zig 0.11.0-dev.2227+f9b582950 |
crystal | 2.cr | 106ms | 0.2ms | 4.0MB | 100ms | 0ms | crystal 1.7.3 |
rust | 2.rs | 109ms | 0.3ms | 3.1MB | 97ms | 0ms | rustc 1.68.0 |
v | 2.v | 117ms | 1.1ms | 4.1MB | 110ms | 0ms | v/clang+gc 0.3.3 |
v | 2.v | 117ms | 0.8ms | 4.0MB | 107ms | 0ms | v/clang 0.3.3 |
zig | 1.zig | 121ms | 1.2ms | 11.0MB | 110ms | 0ms | zig 0.11.0-dev.2227+f9b582950 |
c | 1.c | 122ms | 1.6ms | 11.7MB | 110ms | 0ms | clang 14.0.0 |
v | 1.v | 123ms | 0.3ms | 21.1MB | 110ms | 0ms | v/clang+gc 0.3.3 |
c | 1.c | 123ms | 3.3ms | 11.0MB | 107ms | 0ms | zigcc 0.11.0-dev.2227+f9b582950 |
go | 1.go | 124ms | 1.3ms | 21.5MB | 107ms | 0ms | go 1.20.2 |
c | 1.c | 125ms | 0.7ms | 11.7MB | 113ms | 0ms | gcc 12.2.0 |
d | 1.d | 126ms | 0.6ms | 14.0MB | 110ms | 0ms | ldc2 1.31.0 |
v | 1.v | 126ms | 0.8ms | 20.3MB | 110ms | 0ms | v/clang 0.3.3 |
odin | 1.odin | 126ms | 0.6ms | 11.3MB | 117ms | 0ms | odin 2023 |
rust | 1.rs | 132ms | 0.4ms | 11.7MB | 120ms | 0ms | rustc 1.68.0 |
nim | 1.nim | 133ms | 0.9ms | 11.1MB | 120ms | 0ms | nim 1.6.12 |
wasm | 2.rs | 134ms | 0.2ms | 16.7MB | 123ms | 0ms | wasmedgec 0.11.2 |
nim | 1.nim | 134ms | 0.6ms | 11.3MB | 123ms | 0ms | nim/clang 1.6.12 |
d | 1.d | 135ms | 0.3ms | 24.6MB | 120ms | 0ms | dmd 2.102.2 |
go | 1.go | 135ms | 1.7ms | 12.8MB | 120ms | 0ms | tinygo 0.27.0 |
nim | 2.nim | 139ms | 0.5ms | 3.2MB | 130ms | 0ms | nim/clang 1.6.12 |
crystal | 1.cr | 141ms | 0.1ms | 12.8MB | 130ms | 0ms | crystal 1.7.3 |
csharp | 1.cs | 142ms | 1.6ms | 29.8MB | 130ms | 3ms | dotnet/aot 7.0.202 |
go | 2.go | 147ms | 1.5ms | 5.4MB | 140ms | 0ms | tinygo 0.27.0 |
wasm | 1.rs | 150ms | 0.2ms | 25.2MB | 133ms | 0ms | wasmedgec 0.11.2 |
codon | 1.py | 154ms | 1.3ms | 18.9MB | 140ms | 0ms | codon 0.15.5 |
cpp | 1.cpp | 154ms | 0.6ms | 4.0MB | 143ms | 0ms | g++ 12.2.0 |
nim | 2.nim | 158ms | 0.9ms | 3.0MB | 150ms | 0ms | nim 1.6.12 |
cpp | 1.cpp | 170ms | 0.3ms | 4.0MB | 160ms | 0ms | clang++ 14.0.0 |
codon | 2.py | 184ms | 0.6ms | 23.9MB | 167ms | 3ms | codon 0.15.5 |
csharp | 1.cs | 188ms | 1.2ms | 40.7MB | 177ms | 3ms | mono 6.12.0 |
csharp | 2.cs | 192ms | 2.3ms | 15.2MB | 187ms | 0ms | dotnet/aot 7.0.202 |
wasm | 2.rs | 194ms | 1.0ms | 13.3MB | 180ms | 0ms | wasmtime 7.0.0 |
d | 2.d | 211ms | 0.9ms | 15.5MB | 200ms | 0ms | ldc2 1.31.0 |
go | 2.go | 218ms | 0.5ms | 7.5MB | 210ms | 0ms | go 1.20.2 |
julia | 1.jl | 224ms | 2.4ms | 149.9MB | 167ms | 100ms | julia/aot 1.8.5 |
wasm | 1.rs | 233ms | 0.8ms | 21.8MB | 220ms | 0ms | wasmtime 7.0.0 |
java | 1.java | 244ms | 2.5ms | 60.6MB | 270ms | 17ms | openjdk 21 |
java | 1.java | 252ms | 4.1ms | 62.2MB | 273ms | 17ms | openjdk 19 |
csharp | 2.cs | 277ms | 5.3ms | 32.1MB | 237ms | 7ms | dotnet 7.0.202 |
java | 1.java | 294ms | 11ms | 61.1MB | 277ms | 53ms | openjdk/zgc 19 |
odin | 2.odin | 295ms | 1.3ms | 2.8MB | 283ms | 0ms | odin 2023 |
java | 2.java | 335ms | 5.6ms | 46.4MB | 367ms | 10ms | openjdk 21 |
java | 2.java | 339ms | 17ms | 48.4MB | 357ms | 17ms | openjdk 19 |
java | 1-m.java | 347ms | 9.9ms | 144.0MB | 480ms | 47ms | graal/jvm 17.0.6 |
julia | 1.jl | 349ms | 5.9ms | 197.4MB | 293ms | 130ms | julia 1.8.5 |
wasm | 1.rs | 371ms | 5.0ms | 59.4MB | 353ms | 7ms | node 18.15.0 |
java | 2.java | 375ms | 1.1ms | 44.0MB | 357ms | 50ms | openjdk/zgc 19 |
d | 2.d | 401ms | 1.7ms | 16.7MB | 390ms | 0ms | dmd 2.102.2 |
csharp | 1.cs | 404ms | 6.3ms | 42.2MB | 363ms | 7ms | dotnet 7.0.202 |
wasm | 2.rs | 409ms | 0.8ms | 50.4MB | 397ms | 7ms | node 18.15.0 |
ocaml | 1.ml | 467ms | 11ms | 140.2MB | 430ms | 20ms | ocaml 5.0.0 |
ocaml | 2.ml | 599ms | 23ms | 9.1MB | 587ms | 0ms | ocaml 5.0.0 |
csharp | 2.cs | 604ms | 1.7ms | 25.6MB | 587ms | 3ms | mono 6.12.0 |
java | 2-m.java | 626ms | 4.2ms | 149.3MB | 1103ms | 50ms | graal/jvm 17.0.6 |
python | 1.py | 993ms | 16ms | 213.2MB | 940ms | 37ms | pypy 3.9.16 |
python | 2.py | 1218ms | 4.4ms | 164.4MB | 1137ms | 60ms | pyston 3.8.12 |
python | 2.py | 1564ms | 8.5ms | 266.7MB | 1433ms | 113ms | pypy 3.9.16 |
python | 2.py | 1726ms | 13ms | 164.9MB | 1650ms | 60ms | cpython 3.11.2 |
python | 1.py | 2009ms | 31ms | 86.0MB | 1970ms | 23ms | pyston 3.8.12 |
ruby | 1.rb | 3067ms | 47ms | 426.8MB | 3563ms | 113ms | truffleruby 22.3.1 |
python | 1.py | 3489ms | 5.9ms | 86.7MB | 3447ms | 27ms | cpython 3.11.2 |
ruby | 1.rb | timeout | 0.0ms | 151.0MB | 4910ms | 70ms | ruby 3.2.1 |
ruby | 1.rb | timeout | 0.0ms | 151.5MB | 4910ms | 67ms | ruby/yjit 3.2.1 |