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 | 118ms | 1.1ms | 1.0MB | 110ms | 0ms | zig 0.11.0-dev.3978+711b4e93e |
chapel | 5-m.chpl | 148ms | 2.2ms | 32.0MB | 253ms | 0ms | chpl 1.31.0 |
rust | 5c-m.rs | 185ms | 2.2ms | 1.7MB | 327ms | 0ms | rustc 1.73.0-nightly |
rust | 5-m.rs | 204ms | 3.5ms | 1.8MB | 367ms | 0ms | rustc 1.70.0 |
d | 1.d | 226ms | 3.2ms | 28.8MB | 207ms | 3ms | ldc2 1.32.2 |
rust | 1c.rs | 228ms | 1.2ms | 1.1MB | 220ms | 0ms | rustc 1.73.0-nightly |
go | 3-m.go | 255ms | 4.3ms | 2.9MB | 457ms | 0ms | go 1.20.6 |
nim | 2.nim | 259ms | 0.7ms | 1.0MB | 250ms | 0ms | nim 1.6.14 |
swift | 3-m.swift | 310ms | 4.4ms | 21.0MB | 543ms | 3ms | swift 5.8.1 |
rust | 1.rs | 316ms | 1.6ms | 1.0MB | 297ms | 3ms | rustc 1.70.0 |
nim | 2.nim | 346ms | 1.7ms | 1.3MB | 330ms | 0ms | nim/clang 1.6.14 |
csharp | 5-m.cs | 366ms | 49ms | 57.8MB | 560ms | 127ms | dotnet/aot 7.0.306 |
wasm | 1.rs | 367ms | 0.9ms | 27.1MB | 347ms | 3ms | wasmedgec 0.13.1 |
ocaml | 6.ml | 425ms | 0.3ms | 22.7MB | 407ms | 3ms | ocaml 5.0.0 |
wasm | 1.rs | 427ms | 1.5ms | 16.1MB | 413ms | 0ms | wasmtime 10.0.1 |
wasm | 1.rs | 470ms | 0.8ms | 49.4MB | 453ms | 7ms | node 18.16.1 |
csharp | 5-m.cs | 482ms | 25ms | 68.6MB | 743ms | 127ms | dotnet 7.0.306 |
csharp | 5-m.cs | 482ms | 6.9ms | 38.3MB | 823ms | 80ms | mono 6.12.0 |
java | 4.java | 512ms | 6.3ms | 41.0MB | 587ms | 13ms | openjdk 22 |
java | 4.java | 521ms | 11ms | 40.5MB | 583ms | 17ms | openjdk 20 |
java | 4.java | 558ms | 4.2ms | 40.2MB | 583ms | 57ms | openjdk/zgc 20 |
dart | 1.dart | 560ms | 4.1ms | 16.4MB | 537ms | 3ms | dart/exe 3.0.6 |
java | 4.java | 612ms | 3.2ms | 97.1MB | 797ms | 27ms | graal/jvm 17.0.7 |
v | 1.v | 628ms | 0.1ms | 2.0MB | 620ms | 0ms | v/clang 0.4.0 |
v | 1.v | 631ms | 3.5ms | 2.0MB | 620ms | 0ms | v/clang+gc 0.4.0 |
d | 1.d | 761ms | 1.2ms | 40.3MB | 747ms | 3ms | dmd 2.104.1 |
nim | 1.nim | 785ms | 2.8ms | 1.0MB | 687ms | 83ms | nim 1.6.14 |
nim | 1.nim | 799ms | 1.3ms | 1.2MB | 690ms | 90ms | nim/clang 1.6.14 |
crystal | 2.cr | 821ms | 5.8ms | 3.3MB | 710ms | 93ms | crystal 1.9.0 |
crystal | 1.cr | 1041ms | 2.4ms | 14.8MB | 917ms | 107ms | crystal 1.9.0 |
ruby | 6.rb | 2359ms | 7.6ms | 43.6MB | 2317ms | 23ms | ruby/yjit 3.2.2 |
python | 1.py | 2471ms | 36ms | 87.9MB | 2433ms | 20ms | pypy 3.10.12 |
ruby | 6-m.rb | 2525ms | 40ms | 381.9MB | 4587ms | 233ms | truffleruby 22.3.1 |
typescript | 1.ts | 2869ms | 35ms | 46.1MB | 2760ms | 107ms | deno 1.35.1 |
haxe | 1.hx | 3439ms | 2.9ms | 27.5MB | 3323ms | 243ms | haxe/cpp 4.2.5 |
python | 5-m.py | 3926ms | 65ms | 83.2MB | 4250ms | 843ms | pypy 3.10.12 |
python | 5-m.py | 3978ms | 31ms | 12.7MB | 6003ms | 1020ms | pyston 3.8.12 |
python | 5-m.py | 4105ms | 12ms | 13.6MB | 5733ms | 1033ms | cpython 3.11.4 |
python | 1.py | 4108ms | 2.7ms | 7.9MB | 4093ms | 0ms | pyston 3.8.12 |
ruby | 6.rb | 4204ms | 50ms | 43.0MB | 4180ms | 13ms | ruby 3.2.2 |
perl | 1.pl | 4570ms | 33ms | 10.8MB | 4553ms | 0ms | perl 5.38.0 |
haxe | 1.hx | timeout | 0.0ms | 3.4MB | 4630ms | 350ms | haxe/hl/c 4.2.5 |
haxe | 1.hx | timeout | 0.0ms | 3.8MB | 4740ms | 243ms | haxe/hl/jit 1.13.0 |
python | 1.py | timeout | 0.0ms | 8.6MB | 4980ms | 0ms | cpython 3.11.4 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
zig | 1.zig | 15ms | 1.0ms | 1.0MB | 10ms | 0ms | zig 0.11.0-dev.3978+711b4e93e |
rust | 1c.rs | 26ms | 1.1ms | 1.1MB | 20ms | 0ms | rustc 1.73.0-nightly |
rust | 5c-m.rs | 26ms | 0.8ms | 1.7MB | 30ms | 0ms | rustc 1.73.0-nightly |
d | 1.d | 26ms | 1.1ms | 7.1MB | 20ms | 0ms | ldc2 1.32.2 |
nim | 2.nim | 28ms | 0.5ms | 1.0MB | 20ms | 0ms | nim 1.6.14 |
rust | 5-m.rs | 29ms | 2.2ms | 1.7MB | 33ms | 0ms | rustc 1.70.0 |
go | 3.go | 31ms | 0.6ms | 2.9MB | 40ms | 0ms | go 1.20.6 |
chapel | 5.chpl | 32ms | 1.1ms | 32.0MB | 30ms | 0ms | chpl 1.31.0 |
rust | 1.rs | 33ms | 0.2ms | 1.0MB | 27ms | 0ms | rustc 1.70.0 |
nim | 2.nim | 36ms | 0.3ms | 1.3MB | 30ms | 0ms | nim/clang 1.6.14 |
wasm | 1.rs | 46ms | 0.6ms | 28.0MB | 30ms | 0ms | wasmedgec 0.13.1 |
ocaml | 6.ml | 47ms | 2.4ms | 4.9MB | 37ms | 0ms | ocaml 5.0.0 |
wasm | 1.rs | 51ms | 1.4ms | 16.1MB | 37ms | 0ms | wasmtime 10.0.1 |
swift | 3.swift | 55ms | 0.7ms | 14.4MB | 53ms | 0ms | swift 5.8.1 |
csharp | 5-m.cs | 60ms | 1.7ms | 28.3MB | 77ms | 17ms | dotnet/aot 7.0.306 |
dart | 1.dart | 65ms | 0.6ms | 14.1MB | 53ms | 0ms | dart/exe 3.0.6 |
v | 1.v | 66ms | 0.7ms | 2.0MB | 60ms | 0ms | v/clang+gc 0.4.0 |
v | 1.v | 67ms | 2.4ms | 2.0MB | 57ms | 0ms | v/clang 0.4.0 |
d | 1.d | 80ms | 0.8ms | 12.6MB | 67ms | 0ms | dmd 2.104.1 |
nim | 1.nim | 81ms | 0.5ms | 1.0MB | 60ms | 7ms | nim 1.6.14 |
nim | 1.nim | 83ms | 0.8ms | 1.2MB | 70ms | 0ms | nim/clang 1.6.14 |
crystal | 2.cr | 85ms | 0.7ms | 3.4MB | 73ms | 0ms | crystal 1.9.0 |
wasm | 1.rs | 92ms | 2.7ms | 49.5MB | 77ms | 7ms | node 18.16.1 |
csharp | 5-m.cs | 97ms | 6.4ms | 38.3MB | 113ms | 37ms | mono 6.12.0 |
crystal | 1.cr | 108ms | 0.1ms | 4.7MB | 80ms | 10ms | crystal 1.9.0 |
csharp | 5.cs | 108ms | 2.9ms | 39.9MB | 93ms | 20ms | dotnet 7.0.306 |
java | 4.java | 147ms | 14ms | 39.8MB | 167ms | 7ms | openjdk 20 |
java | 4.java | 149ms | 10ms | 40.2MB | 170ms | 7ms | openjdk 22 |
java | 4.java | 158ms | 3.6ms | 86.0MB | 183ms | 17ms | graal/jvm 17.0.7 |
java | 4.java | 189ms | 7.0ms | 39.3MB | 170ms | 50ms | openjdk/zgc 20 |
ruby | 6.rb | 307ms | 0.5ms | 35.0MB | 280ms | 10ms | ruby/yjit 3.2.2 |
typescript | 1.ts | 323ms | 0.6ms | 45.9MB | 310ms | 13ms | deno 1.35.1 |
python | 1.py | 335ms | 15ms | 78.9MB | 307ms | 17ms | pypy 3.10.12 |
haxe | 1.hx | 361ms | 1.6ms | 27.6MB | 337ms | 20ms | haxe/cpp 4.2.5 |
python | 1.py | 428ms | 4.2ms | 8.0MB | 407ms | 3ms | pyston 3.8.12 |
perl | 1.pl | 468ms | 4.8ms | 6.6MB | 453ms | 0ms | perl 5.38.0 |
python | 5-m.py | 469ms | 12ms | 12.7MB | 693ms | 123ms | pyston 3.8.12 |
python | 5-m.py | 472ms | 1.7ms | 13.6MB | 607ms | 133ms | cpython 3.11.4 |
ruby | 6.rb | 494ms | 8.7ms | 34.5MB | 467ms | 13ms | ruby 3.2.2 |
python | 1.py | 617ms | 1.4ms | 8.6MB | 603ms | 0ms | cpython 3.11.4 |
python | 5-m.py | 769ms | 8.0ms | 82.7MB | 833ms | 440ms | pypy 3.10.12 |
haxe | 1.hx | 802ms | 2.2ms | 3.3MB | 750ms | 33ms | haxe/hl/c 4.2.5 |
ruby | 6-m.rb | 806ms | 12ms | 314.0MB | 1380ms | 100ms | truffleruby 22.3.1 |
haxe | 1.hx | 870ms | 1.6ms | 3.7MB | 813ms | 37ms | haxe/hl/jit 1.13.0 |