Current benchmark data was generated on Thu Jul 13 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 | 1.zig | 44ms | 0.2ms | 2.7MB | 33ms | 0ms | zig 0.11.0-dev.3978+711b4e93e |
rust | 0-unsafe.rs | 49ms | 0.4ms | 1.0MB | 40ms | 0ms | rustc 1.70.0 |
crystal | 0-unsafe.cr | 54ms | 0.3ms | 3.0MB | 50ms | 0ms | crystal 1.9.0 |
rust | 1.rs | 69ms | 0.8ms | 1.0MB | 57ms | 0ms | rustc 1.70.0 |
csharp | 2.cs | 136ms | 0.9ms | 10.3MB | 130ms | 0ms | dotnet/aot 7.0.306 |
crystal | 1.cr | 143ms | 54ms | 3.0MB | 130ms | 0ms | crystal 1.9.0 |
nim | 2.nim | 145ms | 0.9ms | 1.2MB | 137ms | 0ms | nim/clang 1.6.14 |
nim | 2.nim | 152ms | 0.8ms | 1.1MB | 140ms | 0ms | nim 1.6.14 |
wasm | 1.rs | 163ms | 1.5ms | 28.2MB | 147ms | 3ms | wasmedgec 0.13.1 |
go | 3.go | 174ms | 0.2ms | 0.4MB | 160ms | 0ms | tinygo 0.28.1 |
d | 1.d | 176ms | 1.5ms | 3.8MB | 167ms | 0ms | ldc2 1.32.2 |
go | 3.go | 177ms | 1.4ms | 3.4MB | 163ms | 0ms | go 1.20.6 |
haxe | 1.hx | 182ms | 1.3ms | 20.4MB | 167ms | 3ms | haxe/cpp 4.2.5 |
csharp | 2.cs | 185ms | 0.6ms | 22.1MB | 167ms | 3ms | mono 6.12.0 |
haxe | 1.hx | 193ms | 1.9ms | 2.9MB | 180ms | 0ms | haxe/hl/c 4.2.5 |
python | 2.py | 196ms | 0.4ms | 77.2MB | 170ms | 10ms | pypy 3.10.12 |
csharp | 2.cs | 200ms | 5.5ms | 29.6MB | 163ms | 10ms | dotnet 7.0.306 |
wasm | 1.rs | 200ms | 0.9ms | 16.2MB | 187ms | 0ms | wasmtime 10.0.1 |
kotlin | 2-m.kt | 227ms | 2.7ms | 113.7MB | 337ms | 27ms | kotlin/jvm 17.0.2 |
python | 1.py | 234ms | 0.3ms | 78.0MB | 217ms | 3ms | pypy 3.10.12 |
haxe | 1.hx | 235ms | 3.2ms | 3.6MB | 227ms | 0ms | haxe/hl/jit 1.13.0 |
dart | 2.dart | 241ms | 1.2ms | 16.7MB | 230ms | 0ms | dart/exe 3.0.6 |
d | 1.d | 255ms | 0.2ms | 5.9MB | 243ms | 0ms | dmd 2.104.1 |
kotlin | 1.kt | 257ms | 15ms | 113.5MB | 333ms | 20ms | kotlin/jvm 17.0.2 |
ocaml | 1.ml | 264ms | 2.8ms | 6.7MB | 250ms | 0ms | ocaml 5.0.0 |
wasm | 1.rs | 283ms | 1.5ms | 53.4MB | 270ms | 10ms | node 18.16.1 |
odin | 1.odin | 297ms | 45ms | 1.2MB | 287ms | 0ms | odin 2023 |
typescript | 2.ts | 365ms | 3.7ms | 52.8MB | 353ms | 7ms | deno 1.35.1 |
javascript | 2.js | 372ms | 9.7ms | 53.0MB | 350ms | 20ms | node 20.4.0 |
v | 1.v | 397ms | 1.1ms | 2.2MB | 387ms | 0ms | v/clang+gc 0.4.0 |
v | 1.v | 425ms | 1.0ms | 2.3MB | 413ms | 0ms | v/clang 0.4.0 |
ruby | 1.rb | 442ms | 0.6ms | 32.9MB | 417ms | 10ms | ruby/yjit 3.2.2 |
kotlin | 2-m.kt | 455ms | 11ms | 7.9MB | 673ms | 13ms | kotlin/native 1.8.21 |
javascript | 1.js | 556ms | 2.7ms | 148.0MB | 543ms | 30ms | bun 0.6.14 |
ruby | 1.rb | 589ms | 3.1ms | 32.4MB | 563ms | 13ms | ruby 3.2.2 |
javascript | 1.js | 710ms | 8.8ms | 51.8MB | 687ms | 23ms | node 20.4.0 |
typescript | 1.ts | 726ms | 9.1ms | 50.6MB | 693ms | 7ms | deno 1.35.1 |
ruby | 1-m.rb | 771ms | 15ms | 330.4MB | 1130ms | 100ms | truffleruby 22.3.1 |
javascript | 2.js | 775ms | 1.4ms | 112.6MB | 790ms | 20ms | bun 0.6.14 |
kotlin | 1.kt | 910ms | 6.2ms | 6.0MB | 1087ms | 3ms | kotlin/native 1.8.21 |
python | 1.py | 981ms | 0.5ms | 9.0MB | 967ms | 0ms | pyston 3.8.12 |
python | 2.py | 1165ms | 1.0ms | 8.7MB | 1147ms | 3ms | pyston 3.8.12 |
csharp | 1.cs | 1284ms | 2.6ms | 73.3MB | 1247ms | 33ms | dotnet/aot 7.0.306 |
python | 1.py | 1337ms | 3.7ms | 9.3MB | 1323ms | 0ms | cpython 3.11.4 |
dart | 1.dart | 1460ms | 1.7ms | 16.6MB | 1443ms | 0ms | dart/exe 3.0.6 |
python | 2.py | 1548ms | 20ms | 9.1MB | 1533ms | 0ms | cpython 3.11.4 |
csharp | 1.cs | 1624ms | 6.4ms | 90.7MB | 1563ms | 40ms | dotnet 7.0.306 |
csharp | 1.cs | 3045ms | 55ms | 49.5MB | 3013ms | 23ms | mono 6.12.0 |
nim | 1.nim | timeout | 0.0ms | 1.2MB | 4983ms | 0ms | nim/clang 1.6.14 |
nim | 1.nim | timeout | 0.0ms | 1.1MB | 4990ms | 0ms | nim 1.6.14 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
zig | 1.zig | 126ms | 0.6ms | 2.8MB | 117ms | 0ms | zig 0.11.0-dev.3978+711b4e93e |
rust | 0-unsafe.rs | 206ms | 0.8ms | 1.0MB | 200ms | 0ms | rustc 1.70.0 |
crystal | 0-unsafe.cr | 213ms | 80ms | 3.0MB | 193ms | 0ms | crystal 1.9.0 |
crystal | 1.cr | 273ms | 1.2ms | 3.0MB | 263ms | 0ms | crystal 1.9.0 |
rust | 1.rs | 290ms | 0.2ms | 1.0MB | 280ms | 0ms | rustc 1.70.0 |
kotlin | 2.kt | 367ms | 4.1ms | 126.9MB | 457ms | 30ms | kotlin/jvm 17.0.2 |
csharp | 2.cs | 394ms | 2.2ms | 10.2MB | 383ms | 0ms | dotnet/aot 7.0.306 |
csharp | 2.cs | 414ms | 2.1ms | 29.4MB | 383ms | 7ms | dotnet 7.0.306 |
nim | 2.nim | 428ms | 0.6ms | 1.3MB | 417ms | 0ms | nim/clang 1.6.14 |
nim | 2.nim | 450ms | 0.8ms | 1.1MB | 440ms | 0ms | nim 1.6.14 |
python | 2.py | 459ms | 4.4ms | 77.7MB | 433ms | 10ms | pypy 3.10.12 |
kotlin | 1.kt | 459ms | 1.4ms | 132.3MB | 493ms | 43ms | kotlin/jvm 17.0.2 |
wasm | 1.rs | 466ms | 2.2ms | 27.6MB | 450ms | 0ms | wasmedgec 0.13.1 |
csharp | 2.cs | 504ms | 3.4ms | 23.4MB | 487ms | 0ms | mono 6.12.0 |
python | 1.py | 507ms | 11ms | 78.6MB | 477ms | 10ms | pypy 3.10.12 |
d | 1.d | 511ms | 1.6ms | 3.7MB | 500ms | 0ms | ldc2 1.32.2 |
go | 3.go | 516ms | 1.1ms | 0.4MB | 503ms | 0ms | tinygo 0.28.1 |
go | 3.go | 519ms | 1.6ms | 3.4MB | 503ms | 0ms | go 1.20.6 |
haxe | 1.hx | 520ms | 2.0ms | 25.6MB | 510ms | 7ms | haxe/cpp 4.2.5 |
haxe | 1.hx | 573ms | 3.9ms | 2.9MB | 560ms | 0ms | haxe/hl/c 4.2.5 |
wasm | 1.rs | 584ms | 4.8ms | 16.2MB | 567ms | 0ms | wasmtime 10.0.1 |
haxe | 1.hx | 696ms | 6.8ms | 3.7MB | 683ms | 0ms | haxe/hl/jit 1.13.0 |
dart | 2.dart | 700ms | 1.2ms | 16.7MB | 680ms | 3ms | dart/exe 3.0.6 |
wasm | 1.rs | 722ms | 2.0ms | 53.1MB | 710ms | 13ms | node 18.16.1 |
d | 1.d | 754ms | 2.8ms | 5.6MB | 743ms | 0ms | dmd 2.104.1 |
ocaml | 1.ml | 781ms | 8.1ms | 6.7MB | 767ms | 0ms | ocaml 5.0.0 |
odin | 1.odin | 898ms | 139ms | 1.3MB | 890ms | 0ms | odin 2023 |
typescript | 2.ts | 998ms | 9.7ms | 59.8MB | 987ms | 17ms | deno 1.35.1 |
javascript | 2.js | 1001ms | 3.1ms | 63.0MB | 973ms | 23ms | node 20.4.0 |
ruby | 1.rb | 1177ms | 4.0ms | 32.9MB | 1150ms | 13ms | ruby/yjit 3.2.2 |
v | 1.v | 1182ms | 1.4ms | 2.3MB | 1170ms | 0ms | v/clang+gc 0.4.0 |
v | 1.v | 1268ms | 1.7ms | 2.3MB | 1257ms | 0ms | v/clang 0.4.0 |
kotlin | 2-m.kt | 1357ms | 15ms | 7.5MB | 2073ms | 30ms | kotlin/native 1.8.21 |
ruby | 1.rb | 1410ms | 33ms | 359.6MB | 1697ms | 150ms | truffleruby 22.3.1 |
javascript | 1.js | 1591ms | 6.1ms | 173.4MB | 1610ms | 30ms | bun 0.6.14 |
ruby | 1.rb | 1639ms | 13ms | 32.4MB | 1613ms | 10ms | ruby 3.2.2 |
javascript | 1.js | 2007ms | 8.0ms | 58.4MB | 1987ms | 20ms | node 20.4.0 |
typescript | 1.ts | 2042ms | 12ms | 57.5MB | 2030ms | 3ms | deno 1.35.1 |
javascript | 2.js | 2225ms | 22ms | 120.8MB | 2230ms | 27ms | bun 0.6.14 |
kotlin | 1.kt | 2721ms | 30ms | 6.6MB | 3223ms | 13ms | kotlin/native 1.8.21 |
python | 1.py | 2937ms | 37ms | 8.9MB | 2920ms | 0ms | pyston 3.8.12 |
python | 2.py | 3476ms | 17ms | 8.7MB | 3467ms | 0ms | pyston 3.8.12 |
csharp | 1.cs | 3944ms | 317ms | 71.6MB | 3903ms | 40ms | dotnet/aot 7.0.306 |
python | 1.py | 3949ms | 14ms | 9.4MB | 3937ms | 0ms | cpython 3.11.4 |
dart | 1.dart | 4356ms | 4.7ms | 14.6MB | 4333ms | 10ms | dart/exe 3.0.6 |
csharp | 1.cs | 4542ms | 37ms | 89.6MB | 4480ms | 37ms | dotnet 7.0.306 |
python | 2.py | 4639ms | 19ms | 9.1MB | 4620ms | 3ms | cpython 3.11.4 |
csharp | 1.cs | timeout | 0.0ms | 45.7MB | 4957ms | 37ms | mono 6.12.0 |
nim | 1.nim | timeout | 0.0ms | 1.3MB | 4987ms | 0ms | nim/clang 1.6.14 |
nim | 1.nim | timeout | 0.0ms | 1.0MB | 4987ms | 0ms | nim 1.6.14 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
zig | 1.zig | 21ms | 0.9ms | 1.3MB | 10ms | 0ms | zig 0.11.0-dev.3978+711b4e93e |
crystal | 0-unsafe.cr | 29ms | 5.2ms | 3.0MB | 20ms | 0ms | crystal 1.9.0 |
rust | 0-unsafe.rs | 37ms | 2.5ms | 1.0MB | 23ms | 0ms | rustc 1.70.0 |
rust | 1.rs | 46ms | 0.4ms | 1.0MB | 40ms | 0ms | rustc 1.70.0 |
crystal | 1.cr | 49ms | 4.2ms | 3.1MB | 37ms | 0ms | crystal 1.9.0 |
nim | 2.nim | 63ms | 0.5ms | 1.2MB | 50ms | 0ms | nim/clang 1.6.14 |
nim | 2.nim | 65ms | 1.7ms | 1.0MB | 57ms | 0ms | nim 1.6.14 |
csharp | 2.cs | 73ms | 3.2ms | 10.1MB | 73ms | 0ms | dotnet/aot 7.0.306 |
d | 1.d | 75ms | 1.0ms | 3.8MB | 60ms | 0ms | ldc2 1.32.2 |
go | 3.go | 85ms | 0.8ms | 0.0MB | 70ms | 0ms | tinygo 0.28.1 |
haxe | 1.hx | 85ms | 0.6ms | 12.1MB | 73ms | 0ms | haxe/cpp 4.2.5 |
wasm | 1.rs | 88ms | 1.8ms | 28.2MB | 70ms | 3ms | wasmedgec 0.13.1 |
go | 3.go | 93ms | 3.6ms | 3.6MB | 80ms | 0ms | go 1.20.6 |
haxe | 1.hx | 94ms | 0.3ms | 2.8MB | 87ms | 0ms | haxe/hl/c 4.2.5 |
wasm | 1.rs | 103ms | 0.3ms | 16.3MB | 90ms | 0ms | wasmtime 10.0.1 |
csharp | 2.cs | 105ms | 1.2ms | 25.2MB | 90ms | 3ms | mono 6.12.0 |
d | 1.d | 111ms | 0.1ms | 5.4MB | 100ms | 0ms | dmd 2.104.1 |
dart | 2.dart | 114ms | 1.4ms | 17.3MB | 100ms | 0ms | dart/exe 3.0.6 |
haxe | 1.hx | 117ms | 2.5ms | 3.6MB | 103ms | 0ms | haxe/hl/jit 1.13.0 |
odin | 1.odin | 118ms | 3.7ms | 1.3MB | 103ms | 0ms | odin 2023 |
ocaml | 1.ml | 118ms | 1.6ms | 6.0MB | 110ms | 0ms | ocaml 5.0.0 |
csharp | 2.cs | 129ms | 9.9ms | 29.4MB | 100ms | 3ms | dotnet 7.0.306 |
v | 1.v | 132ms | 0.1ms | 2.3MB | 120ms | 0ms | v/clang+gc 0.4.0 |
python | 2.py | 138ms | 1.8ms | 77.3MB | 113ms | 10ms | pypy 3.10.12 |
v | 1.v | 139ms | 1.8ms | 2.2MB | 130ms | 0ms | v/clang 0.4.0 |
python | 1.py | 156ms | 2.2ms | 78.1MB | 127ms | 13ms | pypy 3.10.12 |
wasm | 1.rs | 159ms | 3.7ms | 51.3MB | 143ms | 10ms | node 18.16.1 |
kotlin | 1.kt | 180ms | 11ms | 75.9MB | 233ms | 23ms | kotlin/jvm 17.0.2 |
kotlin | 2-m.kt | 181ms | 1.5ms | 78.5MB | 263ms | 10ms | kotlin/jvm 17.0.2 |
typescript | 2.ts | 187ms | 3.4ms | 47.4MB | 180ms | 7ms | deno 1.35.1 |
javascript | 2.js | 207ms | 5.6ms | 46.6MB | 187ms | 20ms | node 20.4.0 |
dart | 1.dart | 213ms | 2.5ms | 14.2MB | 197ms | 0ms | dart/exe 3.0.6 |
javascript | 1.js | 224ms | 2.5ms | 48.7MB | 200ms | 23ms | node 20.4.0 |
kotlin | 2-m.kt | 226ms | 3.1ms | 5.1MB | 367ms | 0ms | kotlin/native 1.8.21 |
typescript | 1.ts | 237ms | 12ms | 48.1MB | 200ms | 7ms | deno 1.35.1 |
kotlin | 1.kt | 253ms | 9.0ms | 4.2MB | 340ms | 0ms | kotlin/native 1.8.21 |
ruby | 1.rb | 255ms | 0.9ms | 32.8MB | 227ms | 13ms | ruby/yjit 3.2.2 |
javascript | 1.js | 283ms | 1.9ms | 118.4MB | 270ms | 20ms | bun 0.6.14 |
ruby | 1.rb | 329ms | 2.7ms | 32.3MB | 307ms | 10ms | ruby 3.2.2 |
nim | 1.nim | 389ms | 5.3ms | 1.2MB | 373ms | 0ms | nim/clang 1.6.14 |
javascript | 2.js | 421ms | 4.8ms | 107.6MB | 423ms | 20ms | bun 0.6.14 |
nim | 1.nim | 444ms | 3.1ms | 1.0MB | 430ms | 0ms | nim 1.6.14 |
python | 1.py | 475ms | 2.7ms | 8.8MB | 460ms | 0ms | pyston 3.8.12 |
python | 2.py | 542ms | 1.7ms | 8.2MB | 530ms | 0ms | pyston 3.8.12 |
ruby | 1-m.rb | 556ms | 34ms | 309.0MB | 833ms | 97ms | truffleruby 22.3.1 |
python | 1.py | 632ms | 4.6ms | 8.7MB | 613ms | 0ms | cpython 3.11.4 |
python | 2.py | 773ms | 8.4ms | 8.4MB | 757ms | 3ms | cpython 3.11.4 |
csharp | 1.cs | 2812ms | 8.4ms | 64.7MB | 2783ms | 17ms | dotnet/aot 7.0.306 |
csharp | 1.cs | 3014ms | 39ms | 80.1MB | 2957ms | 33ms | dotnet 7.0.306 |
csharp | 1.cs | 3185ms | 2.8ms | 31.4MB | 3170ms | 0ms | mono 6.12.0 |