Current benchmark data was generated on Thu May 04 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 |
---|---|---|---|---|---|---|---|
kotlin | 1.kt | 528ms | 3.0ms | 286.1MB | 510ms | 87ms | kotlin/jvm 17.0.2 |
java | 1.java | 598ms | 6.9ms | 289.1MB | 613ms | 87ms | openjdk 21 |
java | 1.java | 601ms | 11ms | 286.7MB | 593ms | 100ms | openjdk 20 |
dart | 1.dart | 611ms | 6.7ms | 62.9MB | 587ms | 27ms | dart/exe 3.1.0-63.0.dev |
dart | 1.dart | 624ms | 5.7ms | 70.8MB | 590ms | 27ms | dart/exe 2.19.6 |
java | 1.java | 680ms | 69ms | 380.0MB | 887ms | 117ms | graal/jvm 17.0.7 |
csharp | 2.cs | 925ms | 3.9ms | 383.7MB | 813ms | 170ms | dotnet/aot 7.0.203 |
javascript | 1.js | 933ms | 8.0ms | 155.5MB | 1027ms | 43ms | bun 0.5.9 |
rust | 1.rs | 934ms | 5.7ms | 33.9MB | 907ms | 10ms | rustc 1.69.0 |
typescript | 1.ts | 959ms | 4.4ms | 116.3MB | 1000ms | 50ms | deno 1.33.1 |
csharp | 1.cs | 993ms | 12ms | 304.5MB | 880ms | 157ms | dotnet/aot 7.0.203 |
javascript | 1.js | 1028ms | 14ms | 124.8MB | 1050ms | 63ms | node 20.0.0 |
nim | 1.nim | 1082ms | 4.0ms | 34.1MB | 1060ms | 7ms | nim/clang 1.6.12 |
java | 1.java | 1084ms | 8.4ms | 728.2MB | 723ms | 500ms | openjdk/zgc 20 |
nim | 1.nim | 1097ms | 3.3ms | 34.3MB | 1073ms | 7ms | nim 1.6.12 |
wasm | 1.rs | 1138ms | 5.0ms | 39.6MB | 1117ms | 10ms | wasmedgec 0.12.0 |
csharp | 2.cs | 1143ms | 4.4ms | 431.9MB | 940ms | 213ms | dotnet 7.0.203 |
zig | 1.zig | 1150ms | 5.7ms | 41.2MB | 1113ms | 20ms | zig 0.11.0-dev.2969+855493bb8 |
csharp | 1.cs | 1202ms | 3.5ms | 431.8MB | 1030ms | 210ms | dotnet 7.0.203 |
wasm | 1.rs | 1361ms | 19ms | 39.6MB | 1330ms | 17ms | wasmtime 8.0.1 |
wasm | 1.rs | 1379ms | 6.0ms | 73.8MB | 1357ms | 20ms | node 18.16.0 |
d | 1.d | 1473ms | 0.7ms | 312.7MB | 1390ms | 80ms | ldc2 1.32.1 |
haxe | 1.hx | 1500ms | 28ms | 95.2MB | 1657ms | 53ms | haxe/cpp 4.2.5 |
crystal | 1.cr | 1649ms | 11ms | 64.3MB | 1620ms | 10ms | crystal 1.8.1 |
csharp | 1.cs | 1920ms | 100ms | 149.9MB | 2397ms | 177ms | mono 6.12.0 |
ocaml | 1.ml | 1931ms | 14ms | 69.1MB | 1880ms | 30ms | ocaml 5.0.0 |
go | 1.go | 2296ms | 34ms | 37.6MB | 3233ms | 50ms | go 1.20.4 |
d | 1.d | 2312ms | 50ms | 314.2MB | 2320ms | 80ms | dmd 2.103.1 |
go | 2.go | 2560ms | 11ms | 39.8MB | 3657ms | 60ms | go 1.20.4 |
python | 1.py | 2892ms | 160ms | 230.4MB | 2713ms | 160ms | pypy 3.9.16 |
kotlin | 1-m.kt | 3261ms | 59ms | 142.4MB | 5420ms | 580ms | kotlin/native 1.8.21 |
ocaml | 2.ml | 3617ms | 28ms | 74.2MB | 3557ms | 43ms | ocaml 5.0.0 |
go | 1.go | timeout | 0.0ms | 68.6MB | 4967ms | 13ms | tinygo 0.27.0 |
go | 2.go | timeout | 0.0ms | 120.8MB | 4960ms | 20ms | tinygo 0.27.0 |
haxe | 1.hx | timeout | 0.0ms | 31.9MB | 4647ms | 333ms | haxe/hl/c 4.2.5 |
haxe | 1.hx | timeout | 0.0ms | 54.0MB | 4657ms | 327ms | haxe/hl/jit 1.13.0 |
lua | 1.lua | timeout | 0.0ms | 159.1MB | 4920ms | 63ms | lua 5.4.4 |
lua | 1.lua | timeout | 0.0ms | 183.3MB | 4907ms | 73ms | luajit 2.1.0-beta3 |
php | 1.php | timeout | 0.0ms | 113.2MB | 4950ms | 30ms | php 8.2.4 |
python | 1.py | timeout | 0.0ms | 92.9MB | 4940ms | 40ms | cpython 3.11.3 |
python | 1.py | timeout | 0.0ms | 130.3MB | 4920ms | 53ms | pyston 3.8.12 |
ruby | 1.rb | timeout | 0.0ms | 96.4MB | 4937ms | 47ms | ruby 3.2.2 |
ruby | 1.rb | timeout | 0.0ms | 96.9MB | 4920ms | 60ms | ruby/yjit 3.2.2 |
ruby | 1.rb | timeout | 0.0ms | 523.5MB | 9013ms | 297ms | truffleruby 22.3.1 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
dart | 1.dart | 146ms | 2.8ms | 48.7MB | 117ms | 13ms | dart/exe 2.19.6 |
dart | 1.dart | 152ms | 3.7ms | 43.2MB | 113ms | 20ms | dart/exe 3.1.0-63.0.dev |
rust | 1.rs | 196ms | 6.1ms | 9.8MB | 177ms | 3ms | rustc 1.69.0 |
kotlin | 1.kt | 202ms | 4.7ms | 220.9MB | 163ms | 63ms | kotlin/jvm 17.0.2 |
javascript | 1.js | 211ms | 8.9ms | 107.1MB | 187ms | 27ms | bun 0.5.9 |
csharp | 2.cs | 215ms | 3.9ms | 137.7MB | 153ms | 60ms | dotnet/aot 7.0.203 |
zig | 1.zig | 229ms | 2.0ms | 11.0MB | 210ms | 0ms | zig 0.11.0-dev.2969+855493bb8 |
nim | 1.nim | 231ms | 0.7ms | 9.5MB | 220ms | 0ms | nim/clang 1.6.12 |
nim | 1.nim | 233ms | 1.6ms | 9.3MB | 217ms | 0ms | nim 1.6.12 |
wasm | 1.rs | 246ms | 0.3ms | 21.3MB | 230ms | 0ms | wasmedgec 0.12.0 |
typescript | 1.ts | 248ms | 4.1ms | 83.7MB | 233ms | 33ms | deno 1.33.1 |
haxe | 1.hx | 260ms | 8.6ms | 26.7MB | 263ms | 13ms | haxe/cpp 4.2.5 |
java | 1.java | 261ms | 14ms | 224.4MB | 250ms | 70ms | openjdk 21 |
java | 1.java | 264ms | 10ms | 222.4MB | 253ms | 63ms | openjdk 20 |
csharp | 1.cs | 265ms | 6.2ms | 195.1MB | 183ms | 77ms | dotnet/aot 7.0.203 |
javascript | 1.js | 275ms | 8.2ms | 92.5MB | 253ms | 37ms | node 20.0.0 |
ocaml | 1.ml | 275ms | 3.8ms | 25.6MB | 253ms | 3ms | ocaml 5.0.0 |
crystal | 1.cr | 278ms | 9.0ms | 17.6MB | 257ms | 7ms | crystal 1.8.1 |
wasm | 1.rs | 289ms | 3.1ms | 21.6MB | 270ms | 3ms | wasmtime 8.0.1 |
java | 1-m.java | 315ms | 15ms | 283.2MB | 417ms | 70ms | graal/jvm 17.0.7 |
csharp | 1.cs | 341ms | 2.9ms | 72.3MB | 330ms | 30ms | mono 6.12.0 |
wasm | 1.rs | 341ms | 1.4ms | 57.2MB | 323ms | 7ms | node 18.16.0 |
d | 1.d | 348ms | 14ms | 312.4MB | 260ms | 70ms | ldc2 1.32.1 |
csharp | 2.cs | 371ms | 33ms | 133.6MB | 277ms | 73ms | dotnet 7.0.203 |
csharp | 1.cs | 375ms | 3.2ms | 174.9MB | 270ms | 90ms | dotnet 7.0.203 |
python | 1.py | 423ms | 11ms | 149.9MB | 360ms | 47ms | pypy 3.9.16 |
java | 1.java | 462ms | 6.1ms | 329.4MB | 273ms | 230ms | openjdk/zgc 20 |
go | 1.go | 480ms | 9.0ms | 12.1MB | 653ms | 13ms | go 1.20.4 |
d | 1.d | 490ms | 5.3ms | 314.4MB | 397ms | 83ms | dmd 2.103.1 |
go | 2.go | 526ms | 2.9ms | 14.3MB | 727ms | 10ms | go 1.20.4 |
ocaml | 2.ml | 629ms | 19ms | 30.1MB | 610ms | 7ms | ocaml 5.0.0 |
kotlin | 1-m.kt | 684ms | 6.6ms | 38.4MB | 1157ms | 100ms | kotlin/native 1.8.21 |
go | 1.go | 787ms | 2.6ms | 23.1MB | 763ms | 3ms | tinygo 0.27.0 |
go | 2.go | 1102ms | 3.5ms | 38.9MB | 1080ms | 7ms | tinygo 0.27.0 |
php | 1.php | 1214ms | 6.9ms | 66.4MB | 1183ms | 13ms | php 8.2.4 |
haxe | 1.hx | 1701ms | 17ms | 10.9MB | 1557ms | 123ms | haxe/hl/c 4.2.5 |
lua | 1.lua | 1989ms | 8.8ms | 40.6MB | 1953ms | 17ms | luajit 2.1.0-beta3 |
haxe | 1.hx | 2040ms | 23ms | 20.3MB | 1910ms | 110ms | haxe/hl/jit 1.13.0 |
lua | 1.lua | 3267ms | 64ms | 41.6MB | 3230ms | 17ms | lua 5.4.4 |
ruby | 1-m.rb | 4022ms | 46ms | 591.0MB | 7290ms | 320ms | truffleruby 22.3.1 |
ruby | 1.rb | 4150ms | 14ms | 53.6MB | 4097ms | 37ms | ruby/yjit 3.2.2 |
ruby | 1.rb | 4968ms | 17ms | 52.8MB | 4920ms | 30ms | ruby 3.2.2 |
python | 1.py | timeout | 0.0ms | 37.1MB | 4977ms | 7ms | cpython 3.11.3 |
python | 1.py | timeout | 0.0ms | 41.4MB | 4960ms | 17ms | pyston 3.8.12 |