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 | 723ms | 24ms | 413.5MB | 730ms | 107ms | kotlin/jvm 17.0.2 |
java | 2.java | 760ms | 15ms | 411.4MB | 753ms | 127ms | openjdk 21 |
java | 2.java | 796ms | 69ms | 410.1MB | 707ms | 147ms | openjdk 20 |
java | 2.java | 943ms | 154ms | 896.1MB | 940ms | 253ms | graal/jvm 17.0.7 |
v | 1.v | 1216ms | 7.1ms | 37.1MB | 1187ms | 13ms | v/clang+gc 0.3.4 |
julia | 4.jl | 1253ms | 8.6ms | 241.2MB | 1127ms | 207ms | julia 1.8.5 |
dart | 1.dart | 1260ms | 24ms | 79.6MB | 1227ms | 40ms | dart/exe 3.1.0-63.0.dev |
dart | 1.dart | 1292ms | 5.7ms | 85.7MB | 1250ms | 40ms | dart/exe 2.19.6 |
java | 2.java | 1387ms | 14ms | 1006.5MB | 1000ms | 623ms | openjdk/zgc 20 |
v | 1.v | 1453ms | 241ms | 37.0MB | 1427ms | 10ms | v/clang 0.3.4 |
csharp | 1.cs | 1474ms | 36ms | 309.1MB | 1380ms | 177ms | dotnet/aot 7.0.203 |
javascript | 1.js | 1519ms | 9.2ms | 229.7MB | 1900ms | 70ms | bun 0.5.9 |
csharp | 1.cs | 1652ms | 19ms | 357.4MB | 1500ms | 220ms | dotnet 7.0.203 |
python | 1.py | 1790ms | 46ms | 217.6MB | 1663ms | 110ms | pypy 3.9.16 |
rust | 4.rs | 1896ms | 31ms | 33.6MB | 1867ms | 17ms | rustc 1.69.0 |
rust | 5.rs | 2004ms | 36ms | 33.9MB | 1973ms | 10ms | rustc 1.69.0 |
rust | 3.rs | 2057ms | 41ms | 49.9MB | 2027ms | 13ms | rustc 1.69.0 |
haxe | 1.hx | 2096ms | 20ms | 146.2MB | 2420ms | 73ms | haxe/cpp 4.2.5 |
nim | 2.nim | 2139ms | 5.2ms | 34.7MB | 2123ms | 0ms | nim 1.6.12 |
nim | 2.nim | 2145ms | 6.8ms | 35.1MB | 2117ms | 13ms | nim/clang 1.6.12 |
wasm | 3.rs | 2247ms | 10ms | 47.7MB | 2220ms | 13ms | wasmedgec 0.12.0 |
wasm | 5.rs | 2270ms | 20ms | 31.4MB | 2250ms | 7ms | wasmedgec 0.12.0 |
crystal | 1.cr | 2274ms | 3.6ms | 64.3MB | 2240ms | 20ms | crystal 1.8.1 |
csharp | 1.cs | 2381ms | 20ms | 104.3MB | 2803ms | 233ms | mono 6.12.0 |
wasm | 4.rs | 2399ms | 17ms | 31.1MB | 2377ms | 7ms | wasmedgec 0.12.0 |
zig | 1.zig | 2441ms | 11ms | 49.1MB | 2400ms | 23ms | zig 0.11.0-dev.2969+855493bb8 |
chapel | 4.chpl | 2458ms | 8.2ms | 66.1MB | 2433ms | 13ms | chpl 1.30.0 |
d | 1.d | 2543ms | 10.0ms | 312.3MB | 2467ms | 83ms | ldc2 1.32.1 |
chapel | 3.chpl | 2673ms | 15ms | 64.2MB | 2633ms | 23ms | chpl 1.30.0 |
wasm | 5.rs | 2729ms | 16ms | 64.3MB | 2703ms | 13ms | node 18.16.0 |
wasm | 5.rs | 2794ms | 29ms | 31.5MB | 2767ms | 7ms | wasmtime 8.0.1 |
wasm | 3.rs | 2829ms | 27ms | 47.5MB | 2807ms | 10ms | wasmtime 8.0.1 |
wasm | 4.rs | 2851ms | 30ms | 64.2MB | 2820ms | 20ms | node 18.16.0 |
wasm | 3.rs | 2897ms | 22ms | 80.3MB | 2873ms | 23ms | node 18.16.0 |
wasm | 4.rs | 2989ms | 34ms | 31.5MB | 2963ms | 10ms | wasmtime 8.0.1 |
swift | 1.swift | 3088ms | 73ms | 52.6MB | 3047ms | 17ms | swift 5.8.0 |
d | 1.d | 3482ms | 11ms | 314.1MB | 3540ms | 90ms | dmd 2.103.1 |
javascript | 1.js | 3652ms | 865ms | 319.8MB | 2967ms | 1180ms | node 20.0.0 |
go | 1.go | 3836ms | 4.3ms | 43.9MB | 5480ms | 57ms | go 1.20.4 |
odin | 1.odin | 4703ms | 53ms | 49.5MB | 4670ms | 17ms | odin 2023 |
go | 1.go | 4878ms | 33ms | 51.4MB | 4847ms | 13ms | tinygo 0.27.0 |
typescript | 1.ts | 4948ms | 13ms | 236.5MB | 4877ms | 1500ms | deno 1.33.1 |
haxe | 2.hx | timeout | 0.0ms | 398.3MB | 5893ms | 190ms | haxe/cpp 4.2.5 |
haxe | 1.hx | timeout | 0.0ms | 48.7MB | 4733ms | 247ms | haxe/hl/c 4.2.5 |
haxe | 2.hx | timeout | 0.0ms | 83.0MB | 4490ms | 493ms | haxe/hl/c 4.2.5 |
haxe | 1.hx | timeout | 0.0ms | 49.0MB | 4743ms | 237ms | haxe/hl/jit 1.13.0 |
haxe | 2.hx | timeout | 0.0ms | 130.2MB | 4500ms | 483ms | haxe/hl/jit 1.13.0 |
kotlin | 1.kt | timeout | 0.0ms | 214.5MB | 8470ms | 1007ms | kotlin/native 1.8.21 |
lua | 1.lua | timeout | 0.0ms | 119.6MB | 4937ms | 47ms | lua 5.4.4 |
lua | 1.lua | timeout | 0.0ms | 177.7MB | 4913ms | 70ms | luajit 2.1.0-beta3 |
ocaml | 1.ml | timeout | 0.0ms | 145.4MB | 4903ms | 73ms | ocaml 5.0.0 |
perl | 1.pl | timeout | 0.0ms | 77.7MB | 4957ms | 27ms | perl 5.36.1 |
php | 1.php | timeout | 0.0ms | 141.1MB | 4937ms | 47ms | php 8.2.4 |
python | 1.py | timeout | 0.0ms | 40.9MB | 4960ms | 17ms | cpython 3.11.3 |
python | 1.py | timeout | 0.0ms | 40.3MB | 4917ms | 63ms | pyston 3.8.12 |
ruby | 1.rb | timeout | 0.0ms | 72.7MB | 4957ms | 27ms | ruby 3.2.2 |
ruby | 1.rb | timeout | 0.0ms | 82.1MB | 4917ms | 63ms | ruby/yjit 3.2.2 |
ruby | 1.rb | timeout | 0.0ms | 493.5MB | 8423ms | 347ms | truffleruby 22.3.1 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
v | 1.v | 88ms | 0.4ms | 5.5MB | 80ms | 0ms | v/clang+gc 0.3.4 |
v | 1.v | 91ms | 1.0ms | 5.6MB | 80ms | 0ms | v/clang 0.3.4 |
dart | 1.dart | 113ms | 4.2ms | 41.8MB | 83ms | 17ms | dart/exe 3.1.0-63.0.dev |
dart | 1.dart | 118ms | 2.2ms | 49.6MB | 93ms | 13ms | dart/exe 2.19.6 |
haxe | 1.hx | 128ms | 7.4ms | 25.8MB | 120ms | 10ms | haxe/cpp 4.2.5 |
javascript | 1.js | 144ms | 1.8ms | 102.1MB | 123ms | 23ms | bun 0.5.9 |
csharp | 1.cs | 145ms | 3.3ms | 61.4MB | 117ms | 23ms | dotnet/aot 7.0.203 |
kotlin | 1.kt | 147ms | 15ms | 109.4MB | 107ms | 40ms | kotlin/jvm 17.0.2 |
crystal | 1.cr | 150ms | 3.1ms | 11.2MB | 137ms | 3ms | crystal 1.8.1 |
python | 1.py | 160ms | 14ms | 74.6MB | 110ms | 23ms | pypy 3.9.16 |
csharp | 1.cs | 163ms | 0.5ms | 46.1MB | 147ms | 7ms | mono 6.12.0 |
rust | 3.rs | 170ms | 0.7ms | 7.8MB | 157ms | 0ms | rustc 1.69.0 |
rust | 4.rs | 173ms | 6.5ms | 5.7MB | 160ms | 0ms | rustc 1.69.0 |
rust | 5.rs | 176ms | 4.0ms | 5.7MB | 163ms | 0ms | rustc 1.69.0 |
java | 2.java | 184ms | 8.1ms | 110.1MB | 177ms | 30ms | openjdk 20 |
typescript | 1.ts | 185ms | 2.1ms | 66.3MB | 190ms | 13ms | deno 1.33.1 |
java | 2.java | 190ms | 15ms | 109.9MB | 170ms | 40ms | openjdk 21 |
zig | 1.zig | 196ms | 0.7ms | 7.1MB | 183ms | 0ms | zig 0.11.0-dev.2969+855493bb8 |
nim | 2.nim | 202ms | 0.6ms | 5.5MB | 190ms | 0ms | nim 1.6.12 |
nim | 2.nim | 207ms | 3.8ms | 5.7MB | 190ms | 0ms | nim/clang 1.6.12 |
java | 2.java | 208ms | 22ms | 163.1MB | 237ms | 67ms | graal/jvm 17.0.7 |
javascript | 1.js | 208ms | 4.2ms | 72.4MB | 190ms | 23ms | node 20.0.0 |
wasm | 3.rs | 211ms | 4.7ms | 19.6MB | 193ms | 0ms | wasmedgec 0.12.0 |
wasm | 5.rs | 213ms | 2.7ms | 17.4MB | 197ms | 0ms | wasmedgec 0.12.0 |
wasm | 4.rs | 228ms | 2.4ms | 17.5MB | 210ms | 0ms | wasmedgec 0.12.0 |
chapel | 3.chpl | 242ms | 2.6ms | 34.0MB | 223ms | 7ms | chpl 1.30.0 |
chapel | 4.chpl | 243ms | 11ms | 36.0MB | 213ms | 7ms | chpl 1.30.0 |
csharp | 1.cs | 253ms | 4.2ms | 83.2MB | 197ms | 33ms | dotnet 7.0.203 |
d | 1.d | 264ms | 2.3ms | 208.9MB | 210ms | 40ms | ldc2 1.32.1 |
wasm | 5.rs | 273ms | 5.7ms | 17.3MB | 260ms | 0ms | wasmtime 8.0.1 |
swift | 1.swift | 275ms | 12ms | 10.4MB | 260ms | 0ms | swift 5.8.0 |
wasm | 3.rs | 280ms | 21ms | 19.4MB | 247ms | 3ms | wasmtime 8.0.1 |
wasm | 4.rs | 288ms | 8.4ms | 17.3MB | 267ms | 0ms | wasmtime 8.0.1 |
wasm | 5.rs | 302ms | 0.8ms | 51.2MB | 287ms | 10ms | node 18.16.0 |
wasm | 4.rs | 312ms | 5.2ms | 51.6MB | 293ms | 17ms | node 18.16.0 |
wasm | 3.rs | 314ms | 2.5ms | 51.9MB | 300ms | 10ms | node 18.16.0 |
go | 1.go | 322ms | 1.5ms | 8.0MB | 410ms | 10ms | go 1.20.4 |
d | 1.d | 332ms | 1.7ms | 210.5MB | 263ms | 47ms | dmd 2.103.1 |
java | 2.java | 342ms | 5.5ms | 238.9MB | 177ms | 187ms | openjdk/zgc 20 |
julia | 4.jl | 348ms | 1.7ms | 223.5MB | 280ms | 147ms | julia 1.8.5 |
ocaml | 1.ml | 359ms | 8.8ms | 22.9MB | 337ms | 7ms | ocaml 5.0.0 |
odin | 1.odin | 399ms | 1.4ms | 7.5MB | 383ms | 0ms | odin 2023 |
go | 1.go | 462ms | 3.0ms | 6.6MB | 450ms | 0ms | tinygo 0.27.0 |
lua | 1.lua | 516ms | 1.1ms | 24.9MB | 490ms | 10ms | luajit 2.1.0-beta3 |
kotlin | 1-m.kt | 534ms | 16ms | 34.4MB | 933ms | 80ms | kotlin/native 1.8.21 |
haxe | 2.hx | 597ms | 8.3ms | 58.4MB | 653ms | 40ms | haxe/cpp 4.2.5 |
ruby | 1.rb | 625ms | 33ms | 40.7MB | 590ms | 20ms | ruby/yjit 3.2.2 |
python | 1.py | 671ms | 2.6ms | 12.0MB | 633ms | 17ms | pyston 3.8.12 |
haxe | 1.hx | 844ms | 3.6ms | 8.6MB | 797ms | 33ms | haxe/hl/c 4.2.5 |
php | 1.php | 851ms | 1.5ms | 62.6MB | 823ms | 7ms | php 8.2.4 |
python | 1.py | 966ms | 14ms | 12.5MB | 947ms | 3ms | cpython 3.11.3 |
haxe | 1.hx | 1008ms | 5.7ms | 11.1MB | 950ms | 40ms | haxe/hl/jit 1.13.0 |
ruby | 1.rb | 1054ms | 21ms | 40.2MB | 1020ms | 17ms | ruby 3.2.2 |
lua | 1.lua | 1211ms | 16ms | 17.3MB | 1193ms | 0ms | lua 5.4.4 |
ruby | 1-m.rb | 1308ms | 42ms | 429.5MB | 2093ms | 207ms | truffleruby 22.3.1 |
haxe | 2.hx | 1339ms | 21ms | 13.5MB | 1210ms | 113ms | haxe/hl/c 4.2.5 |
haxe | 2.hx | 1818ms | 21ms | 25.0MB | 1650ms | 150ms | haxe/hl/jit 1.13.0 |
perl | 1.pl | 2168ms | 14ms | 14.0MB | 2150ms | 0ms | perl 5.36.1 |