Current benchmark data was generated on Mon Feb 06 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 | 514ms | 21ms | 361.1MB | 490ms | 93ms | kotlin/jvm 17.0.2 |
dart | 1.dart | 533ms | 7.8ms | 68.6MB | 510ms | 20ms | dart/exe 2.19.1 |
java | 1.java | 578ms | 25ms | 374.6MB | 570ms | 107ms | openjdk 20 |
java | 1.java | 599ms | 5.4ms | 373.3MB | 597ms | 100ms | openjdk 19 |
java | 1.java | 607ms | 1.8ms | 351.7MB | 767ms | 110ms | graal/jvm 17.0.6 |
dart | 1.dart | 612ms | 5.3ms | 70.8MB | 590ms | 27ms | dart/exe 3.0.0-187.0.dev |
typescript | 1.ts | 728ms | 1.1ms | 89.4MB | 737ms | 30ms | deno 1.30.2 |
javascript | 1.js | 829ms | 3.5ms | 151.0MB | 913ms | 43ms | bun 0.5.5 |
csharp | 2.cs | 922ms | 6.2ms | 378.5MB | 783ms | 183ms | dotnet/aot 7.0.102 |
rust | 1.rs | 949ms | 11ms | 34.0MB | 920ms | 13ms | rustc 1.67.0 |
javascript | 1.js | 958ms | 10ms | 122.6MB | 987ms | 53ms | node 19.6.0 |
csharp | 1.cs | 967ms | 1.1ms | 313.5MB | 853ms | 137ms | dotnet/aot 7.0.102 |
java | 1.java | 1062ms | 7.0ms | 737.3MB | 673ms | 530ms | openjdk/zgc 19 |
nim | 1.nim | 1081ms | 3.0ms | 34.6MB | 1060ms | 3ms | nim/clang 1.6.10 |
nim | 1.nim | 1089ms | 2.4ms | 34.6MB | 1063ms | 7ms | nim 1.6.10 |
csharp | 2.cs | 1115ms | 10ms | 492.0MB | 890ms | 233ms | dotnet 7.0.102 |
csharp | 1.cs | 1151ms | 7.1ms | 499.3MB | 970ms | 213ms | dotnet 7.0.102 |
wasm | 1.rs | 1256ms | 2.7ms | 38.6MB | 1230ms | 10ms | wasmedgec 0.11.2 |
zig | 1.zig | 1311ms | 114ms | 41.1MB | 1280ms | 13ms | zig 0.11.0-dev.1577+11cc1c16f |
haxe | 1.hx | 1315ms | 13ms | 97.2MB | 1570ms | 50ms | haxe/cpp 4.2.5 |
wasm | 1.rs | 1440ms | 29ms | 34.9MB | 1413ms | 10ms | wasmtime 5.0.0 |
wasm | 1.rs | 1447ms | 17ms | 66.9MB | 1437ms | 17ms | node 16.19.0 |
d | 1.d | 1591ms | 1.6ms | 74.8MB | 1653ms | 17ms | ldc2 1.30.0 |
crystal | 1.cr | 1618ms | 9.5ms | 64.2MB | 1590ms | 13ms | crystal 1.7.2 |
ocaml | 1.ml | 1777ms | 7.9ms | 69.3MB | 1723ms | 40ms | ocaml 5.0.0 |
csharp | 1.cs | 1944ms | 32ms | 143.5MB | 2473ms | 120ms | mono 6.12.0 |
go | 1.go | 2223ms | 27ms | 40.1MB | 3083ms | 63ms | go 1.19.5 |
go | 2.go | 2469ms | 6.5ms | 41.8MB | 3500ms | 63ms | go 1.19.5 |
d | 1.d | 2722ms | 3.1ms | 154.0MB | 3030ms | 40ms | dmd 2.102.0 |
python | 1.py | 2938ms | 261ms | 230.3MB | 2777ms | 143ms | pypy 3.9.16 |
kotlin | 1-m.kt | 3231ms | 169ms | 138.5MB | 4950ms | 777ms | kotlin/native 1.8.10 |
ocaml | 2.ml | 3374ms | 15ms | 74.1MB | 3323ms | 33ms | ocaml 5.0.0 |
go | 1.go | 4230ms | 3.2ms | 212.7MB | 4150ms | 60ms | tinygo 0.25.0 |
go | 2.go | timeout | 0.0ms | 68.9MB | 4973ms | 7ms | tinygo 0.25.0 |
haxe | 1.hx | timeout | 0.0ms | 32.7MB | 4650ms | 333ms | haxe/hl/c 4.2.5 |
haxe | 1.hx | timeout | 0.0ms | 54.0MB | 4590ms | 393ms | haxe/hl/jit 1.13.0 |
lua | 1.lua | timeout | 0.0ms | 159.1MB | 4917ms | 63ms | lua 5.4.4 |
lua | 1.lua | timeout | 0.0ms | 180.9MB | 4890ms | 90ms | luajit 2.1.0-beta3 |
php | 1.php | timeout | 0.0ms | 112.9MB | 4957ms | 23ms | php 8.2.2 |
python | 1.py | timeout | 0.0ms | 92.9MB | 4947ms | 33ms | cpython 3.11.1 |
python | 1.py | timeout | 0.0ms | 130.2MB | 4930ms | 50ms | pyston 3.8.12 |
ruby | 1.rb | timeout | 0.0ms | 96.5MB | 4927ms | 57ms | ruby 3.2.0 |
ruby | 1.rb | timeout | 0.0ms | 97.1MB | 4927ms | 53ms | ruby/yjit 3.2.0 |
ruby | 1.rb | timeout | 0.0ms | 515.5MB | 9077ms | 260ms | truffleruby 22.3.1 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
dart | 1.dart | 134ms | 3.3ms | 48.7MB | 103ms | 20ms | dart/exe 2.19.1 |
dart | 1.dart | 145ms | 1.2ms | 48.7MB | 113ms | 20ms | dart/exe 3.0.0-187.0.dev |
typescript | 1.ts | 187ms | 1.6ms | 57.3MB | 187ms | 13ms | deno 1.30.2 |
javascript | 1.js | 191ms | 2.1ms | 108.8MB | 173ms | 17ms | bun 0.5.5 |
rust | 1.rs | 192ms | 1.1ms | 9.9MB | 180ms | 0ms | rustc 1.67.0 |
kotlin | 1.kt | 203ms | 3.9ms | 221.1MB | 177ms | 57ms | kotlin/jvm 17.0.2 |
csharp | 2.cs | 212ms | 5.9ms | 138.0MB | 163ms | 43ms | dotnet/aot 7.0.102 |
zig | 1.zig | 229ms | 0.2ms | 10.9MB | 213ms | 0ms | zig 0.11.0-dev.1577+11cc1c16f |
nim | 1.nim | 230ms | 0.3ms | 9.3MB | 217ms | 0ms | nim 1.6.10 |
nim | 1.nim | 230ms | 0.9ms | 9.5MB | 217ms | 0ms | nim/clang 1.6.10 |
csharp | 1.cs | 243ms | 2.8ms | 148.5MB | 183ms | 53ms | dotnet/aot 7.0.102 |
haxe | 1.hx | 253ms | 10ms | 28.5MB | 243ms | 23ms | haxe/cpp 4.2.5 |
java | 1.java | 259ms | 11ms | 174.3MB | 250ms | 63ms | openjdk 19 |
java | 1.java | 264ms | 11ms | 222.1MB | 263ms | 60ms | openjdk 20 |
ocaml | 1.ml | 265ms | 3.9ms | 25.8MB | 240ms | 10ms | ocaml 5.0.0 |
wasm | 1.rs | 267ms | 1.2ms | 21.9MB | 250ms | 0ms | wasmedgec 0.11.2 |
javascript | 1.js | 268ms | 2.1ms | 90.5MB | 250ms | 30ms | node 19.6.0 |
crystal | 1.cr | 288ms | 7.9ms | 22.2MB | 267ms | 10ms | crystal 1.7.2 |
java | 1-m.java | 301ms | 2.6ms | 279.6MB | 410ms | 60ms | graal/jvm 17.0.6 |
wasm | 1.rs | 301ms | 1.9ms | 17.0MB | 287ms | 0ms | wasmtime 5.0.0 |
d | 1.d | 316ms | 1.9ms | 38.9MB | 293ms | 10ms | ldc2 1.30.0 |
csharp | 1.cs | 349ms | 6.0ms | 71.9MB | 327ms | 40ms | mono 6.12.0 |
csharp | 2.cs | 366ms | 4.4ms | 206.1MB | 270ms | 80ms | dotnet 7.0.102 |
wasm | 1.rs | 368ms | 1.8ms | 49.4MB | 363ms | 10ms | node 16.19.0 |
csharp | 1.cs | 409ms | 21ms | 258.7MB | 273ms | 97ms | dotnet 7.0.102 |
java | 1.java | 460ms | 1.7ms | 307.8MB | 270ms | 230ms | openjdk/zgc 19 |
go | 1.go | 474ms | 6.1ms | 12.5MB | 633ms | 20ms | go 1.19.5 |
python | 1.py | 482ms | 20ms | 149.6MB | 410ms | 53ms | pypy 3.9.16 |
go | 2.go | 528ms | 6.9ms | 13.6MB | 730ms | 13ms | go 1.19.5 |
d | 1.d | 560ms | 4.4ms | 40.4MB | 600ms | 3ms | dmd 2.102.0 |
ocaml | 2.ml | 589ms | 2.0ms | 30.3MB | 567ms | 7ms | ocaml 5.0.0 |
kotlin | 1-m.kt | 648ms | 0.2ms | 38.4MB | 1067ms | 100ms | kotlin/native 1.8.10 |
go | 1.go | 732ms | 1.3ms | 52.2MB | 703ms | 7ms | tinygo 0.25.0 |
php | 1.php | 1201ms | 7.7ms | 66.4MB | 1167ms | 17ms | php 8.2.2 |
go | 2.go | 1428ms | 1.8ms | 38.9MB | 1403ms | 3ms | tinygo 0.25.0 |
haxe | 1.hx | 1659ms | 4.1ms | 10.9MB | 1533ms | 110ms | haxe/hl/c 4.2.5 |
lua | 1.lua | 1836ms | 89ms | 36.3MB | 1813ms | 3ms | luajit 2.1.0-beta3 |
haxe | 1.hx | 1917ms | 76ms | 20.2MB | 1800ms | 103ms | haxe/hl/jit 1.13.0 |
lua | 1.lua | 3056ms | 30ms | 41.6MB | 3020ms | 17ms | lua 5.4.4 |
ruby | 1.rb | 3322ms | 2877ms | 52.8MB | 4930ms | 40ms | ruby 3.2.0 |
ruby | 1-m.rb | 3712ms | 39ms | 590.9MB | 6777ms | 257ms | truffleruby 22.3.1 |
ruby | 1.rb | 4121ms | 6.3ms | 53.6MB | 4070ms | 30ms | ruby/yjit 3.2.0 |
python | 1.py | timeout | 0.0ms | 36.9MB | 4967ms | 13ms | cpython 3.11.1 |
python | 1.py | timeout | 0.0ms | 41.5MB | 4963ms | 17ms | pyston 3.8.12 |