Current benchmark data was generated on Wed Mar 22 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 |
---|---|---|---|---|---|---|---|
chapel | 5-m.chpl | 149ms | 2.2ms | 31.9MB | 253ms | 7ms | chpl 1.29.0 |
zig | 1.zig | 155ms | 0.2ms | 1.0MB | 140ms | 0ms | zig 0.11.0-dev.2227+f9b582950 |
rust | 5c-m.rs | 186ms | 4.9ms | 1.7MB | 323ms | 0ms | rustc 1.70.0-nightly |
rust | 5-m.rs | 211ms | 9.0ms | 1.7MB | 370ms | 3ms | rustc 1.68.0 |
rust | 1c.rs | 228ms | 1.4ms | 1.0MB | 217ms | 0ms | rustc 1.70.0-nightly |
d | 1.d | 238ms | 0.7ms | 31.1MB | 220ms | 3ms | ldc2 1.31.0 |
go | 3-m.go | 252ms | 1.3ms | 2.9MB | 460ms | 0ms | go 1.20.2 |
nim | 2.nim | 270ms | 1.1ms | 1.0MB | 253ms | 3ms | nim 1.6.12 |
rust | 1.rs | 314ms | 0.3ms | 1.9MB | 303ms | 0ms | rustc 1.68.0 |
nim | 2.nim | 337ms | 0.8ms | 1.3MB | 323ms | 0ms | nim/clang 1.6.12 |
csharp | 5-m.cs | 337ms | 40ms | 51.7MB | 543ms | 83ms | dotnet/aot 7.0.202 |
wasm | 1.rs | 361ms | 0.8ms | 15.9MB | 343ms | 7ms | wasmedgec 0.11.2 |
swift | 3-m.swift | 386ms | 4.0ms | 23.0MB | 697ms | 3ms | swift 5.7.3 |
ocaml | 6.ml | 425ms | 3.8ms | 22.7MB | 403ms | 7ms | ocaml 5.0.0 |
wasm | 1.rs | 451ms | 1.5ms | 12.2MB | 430ms | 0ms | wasmtime 7.0.0 |
wasm | 1.rs | 468ms | 1.2ms | 49.2MB | 453ms | 7ms | node 18.15.0 |
csharp | 5-m.cs | 486ms | 11ms | 38.3MB | 853ms | 57ms | mono 6.12.0 |
java | 4.java | 521ms | 2.3ms | 42.0MB | 603ms | 7ms | openjdk 21 |
java | 4.java | 528ms | 8.6ms | 41.4MB | 603ms | 10ms | openjdk 19 |
dart | 1.dart | 561ms | 3.8ms | 14.6MB | 543ms | 0ms | dart/exe 3.0.0-339.0.dev |
dart | 1.dart | 563ms | 3.9ms | 15.2MB | 543ms | 3ms | dart/exe 2.19.5 |
java | 4.java | 583ms | 8.1ms | 43.4MB | 603ms | 63ms | openjdk/zgc 19 |
csharp | 5.cs | 619ms | 42ms | 70.8MB | 767ms | 113ms | dotnet 7.0.202 |
java | 4.java | 621ms | 5.0ms | 99.9MB | 803ms | 37ms | graal/jvm 17.0.6 |
v | 1.v | 649ms | 1.6ms | 1.9MB | 633ms | 0ms | v/clang+gc 0.3.3 |
v | 1.v | 650ms | 1.3ms | 2.0MB | 637ms | 0ms | v/clang 0.3.3 |
julia | 7-m.jl | 660ms | 6.7ms | 299.3MB | 900ms | 147ms | julia 1.8.5 |
nim | 1.nim | 780ms | 1.0ms | 1.0MB | 673ms | 87ms | nim 1.6.12 |
d | 1.d | 792ms | 1.1ms | 39.0MB | 773ms | 10ms | dmd 2.102.2 |
nim | 1.nim | 807ms | 1.4ms | 1.3MB | 690ms | 100ms | nim/clang 1.6.12 |
crystal | 2.cr | 836ms | 0.6ms | 3.2MB | 720ms | 103ms | crystal 1.7.3 |
crystal | 1.cr | 1076ms | 2.2ms | 14.6MB | 950ms | 107ms | crystal 1.7.3 |
typescript | 1.ts | 2113ms | 52ms | 47.0MB | 1967ms | 127ms | deno 1.31.3 |
ruby | 6.rb | 2407ms | 2.4ms | 43.5MB | 2377ms | 13ms | ruby/yjit 3.2.1 |
ruby | 6-m.rb | 2592ms | 11ms | 372.7MB | 4680ms | 257ms | truffleruby 22.3.1 |
python | 1.py | 2863ms | 33ms | 88.2MB | 2830ms | 17ms | pypy 3.9.16 |
haxe | 1.hx | 3404ms | 7.7ms | 27.5MB | 3340ms | 233ms | haxe/cpp 4.2.5 |
python | 5-m.py | 4003ms | 131ms | 12.6MB | 6103ms | 1033ms | pyston 3.8.12 |
python | 5-m.py | 4052ms | 20ms | 82.6MB | 5697ms | 1163ms | pypy 3.9.16 |
python | 1.py | 4089ms | 4.6ms | 7.9MB | 4077ms | 0ms | pyston 3.8.12 |
ruby | 6.rb | 4226ms | 15ms | 43.1MB | 4197ms | 13ms | ruby 3.2.1 |
python | 5-m.py | 4268ms | 10ms | 13.6MB | 5963ms | 990ms | cpython 3.11.2 |
perl | 1.pl | 4471ms | 31ms | 11.0MB | 4450ms | 3ms | perl 5.36.0 |
haxe | 1.hx | timeout | 0.0ms | 3.4MB | 4660ms | 323ms | haxe/hl/c 4.2.5 |
haxe | 1.hx | timeout | 0.0ms | 3.7MB | 4710ms | 270ms | haxe/hl/jit 1.13.0 |
python | 1.py | timeout | 0.0ms | 8.6MB | 4980ms | 0ms | cpython 3.11.2 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
zig | 1.zig | 18ms | 0.4ms | 1.0MB | 10ms | 0ms | zig 0.11.0-dev.2227+f9b582950 |
d | 1.d | 28ms | 0.8ms | 6.1MB | 20ms | 0ms | ldc2 1.31.0 |
rust | 5c-m.rs | 28ms | 0.1ms | 1.7MB | 37ms | 0ms | rustc 1.70.0-nightly |
rust | 1c.rs | 29ms | 3.1ms | 1.1MB | 17ms | 0ms | rustc 1.70.0-nightly |
nim | 2.nim | 29ms | 0.6ms | 1.0MB | 20ms | 0ms | nim 1.6.12 |
rust | 5-m.rs | 33ms | 1.5ms | 1.7MB | 40ms | 0ms | rustc 1.68.0 |
chapel | 5.chpl | 34ms | 0.3ms | 31.9MB | 30ms | 3ms | chpl 1.29.0 |
rust | 1.rs | 34ms | 0.4ms | 1.1MB | 23ms | 0ms | rustc 1.68.0 |
go | 3.go | 34ms | 2.0ms | 2.9MB | 40ms | 0ms | go 1.20.2 |
nim | 2.nim | 37ms | 1.6ms | 1.3MB | 30ms | 0ms | nim/clang 1.6.12 |
wasm | 1.rs | 45ms | 2.8ms | 15.2MB | 37ms | 0ms | wasmedgec 0.11.2 |
ocaml | 6.ml | 48ms | 1.6ms | 4.9MB | 40ms | 0ms | ocaml 5.0.0 |
wasm | 1.rs | 53ms | 1.9ms | 12.3MB | 40ms | 0ms | wasmtime 7.0.0 |
swift | 3.swift | 57ms | 1.7ms | 14.6MB | 60ms | 0ms | swift 5.7.3 |
csharp | 5-m.cs | 60ms | 8.1ms | 26.4MB | 67ms | 27ms | dotnet/aot 7.0.202 |
dart | 1.dart | 66ms | 0.4ms | 14.5MB | 50ms | 0ms | dart/exe 2.19.5 |
v | 1.v | 68ms | 0.9ms | 2.0MB | 57ms | 0ms | v/clang 0.3.3 |
v | 1.v | 69ms | 1.4ms | 1.9MB | 57ms | 0ms | v/clang+gc 0.3.3 |
dart | 1.dart | 70ms | 2.3ms | 16.7MB | 57ms | 0ms | dart/exe 3.0.0-339.0.dev |
nim | 1.nim | 81ms | 0.8ms | 1.1MB | 63ms | 3ms | nim 1.6.12 |
d | 1.d | 82ms | 0.2ms | 13.4MB | 70ms | 0ms | dmd 2.102.2 |
nim | 1.nim | 84ms | 0.9ms | 1.3MB | 60ms | 3ms | nim/clang 1.6.12 |
csharp | 5.cs | 85ms | 2.4ms | 35.5MB | 100ms | 23ms | mono 6.12.0 |
crystal | 2.cr | 87ms | 0.4ms | 3.2MB | 67ms | 10ms | crystal 1.7.3 |
wasm | 1.rs | 95ms | 3.0ms | 49.5MB | 77ms | 3ms | node 18.15.0 |
csharp | 5.cs | 110ms | 7.0ms | 37.4MB | 107ms | 27ms | dotnet 7.0.202 |
crystal | 1.cr | 112ms | 0.9ms | 4.6MB | 97ms | 0ms | crystal 1.7.3 |
java | 4.java | 148ms | 4.3ms | 41.7MB | 173ms | 7ms | openjdk 19 |
java | 4.java | 155ms | 5.9ms | 41.3MB | 170ms | 17ms | openjdk 21 |
java | 4.java | 164ms | 14ms | 89.1MB | 200ms | 20ms | graal/jvm 17.0.6 |
java | 4.java | 197ms | 1.0ms | 41.0MB | 180ms | 43ms | openjdk/zgc 19 |
typescript | 1.ts | 252ms | 6.7ms | 46.9MB | 230ms | 23ms | deno 1.31.3 |
ruby | 6.rb | 316ms | 0.2ms | 35.0MB | 283ms | 17ms | ruby/yjit 3.2.1 |
haxe | 1.hx | 359ms | 0.7ms | 27.5MB | 330ms | 30ms | haxe/cpp 4.2.5 |
python | 1.py | 360ms | 3.2ms | 79.1MB | 333ms | 10ms | pypy 3.9.16 |
python | 1.py | 423ms | 0.8ms | 7.9MB | 407ms | 0ms | pyston 3.8.12 |
perl | 1.pl | 455ms | 1.0ms | 6.7MB | 440ms | 0ms | perl 5.36.0 |
python | 5-m.py | 474ms | 16ms | 12.7MB | 673ms | 147ms | pyston 3.8.12 |
julia | 7-m.jl | 477ms | 3.7ms | 225.2MB | 583ms | 133ms | julia 1.8.5 |
ruby | 6.rb | 497ms | 11ms | 34.4MB | 470ms | 10ms | ruby 3.2.1 |
python | 5-m.py | 498ms | 1.4ms | 13.6MB | 633ms | 137ms | cpython 3.11.2 |
python | 1.py | 617ms | 5.0ms | 8.6MB | 597ms | 0ms | cpython 3.11.2 |
python | 5-m.py | 811ms | 26ms | 82.6MB | 880ms | 480ms | pypy 3.9.16 |
haxe | 1.hx | 820ms | 3.0ms | 3.2MB | 760ms | 43ms | haxe/hl/c 4.2.5 |
ruby | 6-m.rb | 833ms | 25ms | 321.3MB | 1410ms | 120ms | truffleruby 22.3.1 |
haxe | 1.hx | 871ms | 1.2ms | 3.6MB | 810ms | 40ms | haxe/hl/jit 1.13.0 |