Current benchmark data was generated on Sat Nov 16 2024, 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 | 87ms | 0.5ms | 1.1MB | 80ms | 0ms | zig 0.13.0 |
rust | 5c-m.rs | 89ms | 1.0ms | 4.8MB | 240ms | 3ms | rustc 1.82.0 |
rust | 5-m.rs | 99ms | 1.4ms | 4.8MB | 323ms | 0ms | rustc 1.82.0 |
chapel | 5-m.chpl | 113ms | 0.6ms | 32.4MB | 190ms | 0ms | chpl 1.31.0 |
go | 3-m.go | 127ms | 1.8ms | 5.4MB | 400ms | 3ms | go 1.23.3 |
csharp | 5-m.cs | 137ms | 6.7ms | 44.9MB | 370ms | 110ms | dotnet/aot 9.0.100 |
swift | 3-m.swift | 143ms | 2.7ms | 27.3MB | 397ms | 7ms | swift 6.0.2 |
rust | 1c.rs | 162ms | 0.6ms | 1.9MB | 150ms | 0ms | rustc 1.82.0 |
nim | 2.nim | 185ms | 1.2ms | 1.5MB | 170ms | 0ms | nim 2.2.0 |
csharp | 5-m.cs | 193ms | 4.9ms | 51.1MB | 457ms | 133ms | dotnet 9.0.100 |
rust | 1.rs | 195ms | 0.9ms | 1.9MB | 180ms | 0ms | rustc 1.82.0 |
d | 1.d | 196ms | 1.6ms | 31.9MB | 177ms | 3ms | ldc2 1.39.0 |
wasm | 1.rs | 236ms | 1.9ms | 19.0MB | 220ms | 7ms | wasmtime 25.0.3 |
nim | 2.nim | 237ms | 2.1ms | 1.8MB | 220ms | 0ms | nim/clang 2.2.0 |
csharp | 5-m.cs | 248ms | 3.8ms | 55.4MB | 683ms | 97ms | mono 6.12.0 |
ocaml | 6.ml | 346ms | 0.5ms | 24.9MB | 333ms | 0ms | ocaml 5.2.0 |
dart | 1.dart | 366ms | 3.0ms | 9.0MB | 353ms | 0ms | dart/exe 3.5.4 |
java | 4.java | 450ms | 4.7ms | 47.5MB | 527ms | 20ms | openjdk 21 |
java | 4.java | 453ms | 13ms | 106.3MB | 630ms | 47ms | graal/jvm 17.0.8 |
java | 4.java | 466ms | 10ms | 49.3MB | 560ms | 17ms | openjdk 23 |
v | 1.v | 501ms | 2.6ms | 1.3MB | 490ms | 0ms | v/clang 0.4.8 |
v | 1.v | 535ms | 0.5ms | 2.1MB | 520ms | 0ms | v/clang+gc 0.4.8 |
crystal | 2.cr | 539ms | 2.5ms | 3.4MB | 407ms | 113ms | crystal 1.14.0 |
java | 4.java | 560ms | 11ms | 45.2MB | 537ms | 127ms | openjdk/zgc 21 |
nim | 1.nim | 572ms | 3.7ms | 1.8MB | 427ms | 130ms | nim/clang 2.2.0 |
nim | 1.nim | 596ms | 1.5ms | 1.5MB | 473ms | 107ms | nim 2.2.0 |
d | 1.d | 623ms | 3.2ms | 48.0MB | 607ms | 10ms | dmd 2.109.1 |
crystal | 1.cr | 727ms | 0.8ms | 14.7MB | 597ms | 120ms | crystal 1.14.0 |
python | 1.py | 1908ms | 7.1ms | 88.3MB | 1867ms | 23ms | pypy 3.10.14 |
ruby | 6.rb | 2115ms | 31ms | 39.6MB | 2087ms | 17ms | ruby/yjit 3.3.6 |
typescript | 1.ts | 2123ms | 6.4ms | 58.6MB | 1973ms | 157ms | deno 2.0.6 |
ruby | 6-m.rb | 2208ms | 39ms | 393.6MB | 5667ms | 377ms | truffleruby 24.1.1 |
haxe | 1.hx | 2437ms | 17ms | 25.6MB | 2243ms | 280ms | haxe/cpp 4.3.6 |
python | 5-m.py | 2493ms | 42ms | 12.5MB | 3617ms | 1003ms | pyston 3.8.12 |
python | 5-m.py | 2816ms | 14ms | 64.9MB | 3960ms | 837ms | pypy 3.10.14 |
python | 1.py | 3005ms | 19ms | 8.1MB | 2993ms | 0ms | pyston 3.8.12 |
python | 5-m.py | 3408ms | 32ms | 13.8MB | 4537ms | 1013ms | cpython 3.13.0 |
perl | 1.pl | 3614ms | 17ms | 10.9MB | 3603ms | 0ms | perl 5.40.0 |
ruby | 6.rb | 3726ms | 20ms | 37.5MB | 3690ms | 27ms | ruby 3.3.6 |
python | 1.py | 4612ms | 106ms | 8.8MB | 4597ms | 0ms | cpython 3.13.0 |
haxe | 1.hx | timeout | 0.0ms | 5.2MB | 4260ms | 943ms | haxe/hl/c 4.3.6 |
haxe | 1.hx | timeout | 0.0ms | 5.7MB | 4290ms | 937ms | haxe/hl/jit 1.14.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
zig | 1.zig | 11ms | 0.7ms | 1.1MB | 0ms | 0ms | zig 0.13.0 |
rust | 5c-m.rs | 16ms | 0.4ms | 4.8MB | 23ms | 0ms | rustc 1.82.0 |
rust | 5-m.rs | 17ms | 0.8ms | 4.9MB | 23ms | 0ms | rustc 1.82.0 |
go | 3-m.go | 18ms | 0.1ms | 5.4MB | 37ms | 0ms | go 1.23.3 |
rust | 1c.rs | 19ms | 0.6ms | 1.9MB | 10ms | 0ms | rustc 1.82.0 |
nim | 2.nim | 21ms | 0.6ms | 1.5MB | 10ms | 0ms | nim 2.2.0 |
rust | 1.rs | 22ms | 0.1ms | 1.9MB | 10ms | 0ms | rustc 1.82.0 |
d | 1.d | 24ms | 0.6ms | 7.3MB | 17ms | 0ms | ldc2 1.39.0 |
nim | 2.nim | 26ms | 0.7ms | 1.8MB | 13ms | 0ms | nim/clang 2.2.0 |
csharp | 5-m.cs | 27ms | 0.5ms | 24.8MB | 37ms | 13ms | dotnet/aot 9.0.100 |
chapel | 5.chpl | 29ms | 0.2ms | 32.4MB | 20ms | 3ms | chpl 1.31.0 |
wasm | 1.rs | 32ms | 1.5ms | 18.8MB | 20ms | 0ms | wasmtime 25.0.3 |
swift | 3.swift | 37ms | 0.6ms | 21.1MB | 33ms | 0ms | swift 6.0.2 |
ocaml | 6.ml | 39ms | 0.9ms | 7.3MB | 27ms | 0ms | ocaml 5.2.0 |
dart | 1.dart | 44ms | 0.9ms | 8.6MB | 33ms | 0ms | dart/exe 3.5.4 |
v | 1.v | 52ms | 0.1ms | 1.3MB | 40ms | 0ms | v/clang 0.4.8 |
v | 1.v | 58ms | 1.5ms | 2.1MB | 50ms | 0ms | v/clang+gc 0.4.8 |
crystal | 2.cr | 59ms | 1.6ms | 3.4MB | 40ms | 3ms | crystal 1.14.0 |
nim | 1.nim | 61ms | 0.8ms | 1.8MB | 47ms | 0ms | nim/clang 2.2.0 |
csharp | 5-m.cs | 61ms | 1.8ms | 44.5MB | 77ms | 20ms | dotnet 9.0.100 |
nim | 1.nim | 63ms | 1.0ms | 1.5MB | 43ms | 3ms | nim 2.2.0 |
d | 1.d | 66ms | 0.7ms | 12.2MB | 60ms | 0ms | dmd 2.109.1 |
csharp | 5-m.cs | 70ms | 1.9ms | 44.3MB | 100ms | 20ms | mono 6.12.0 |
crystal | 1.cr | 77ms | 1.6ms | 4.5MB | 50ms | 10ms | crystal 1.14.0 |
java | 4.java | 122ms | 1.2ms | 46.7MB | 167ms | 17ms | openjdk 21 |
java | 4-m.java | 126ms | 2.6ms | 47.9MB | 163ms | 27ms | openjdk 23 |
java | 4-m.java | 130ms | 3.9ms | 97.0MB | 177ms | 43ms | graal/jvm 17.0.8 |
java | 4.java | 243ms | 1.7ms | 45.8MB | 170ms | 130ms | openjdk/zgc 21 |
typescript | 1.ts | 249ms | 1.6ms | 58.5MB | 227ms | 20ms | deno 2.0.6 |
python | 1.py | 253ms | 2.4ms | 63.6MB | 230ms | 10ms | pypy 3.10.14 |
haxe | 1.hx | 259ms | 3.7ms | 25.6MB | 223ms | 33ms | haxe/cpp 4.3.6 |
ruby | 6.rb | 286ms | 12ms | 30.8MB | 257ms | 17ms | ruby/yjit 3.3.6 |
python | 1.py | 314ms | 3.5ms | 8.1MB | 303ms | 0ms | pyston 3.8.12 |
python | 5-m.py | 317ms | 4.6ms | 12.4MB | 413ms | 143ms | pyston 3.8.12 |
perl | 1.pl | 374ms | 6.5ms | 6.6MB | 363ms | 0ms | perl 5.40.0 |
python | 5-m.py | 406ms | 4.6ms | 13.9MB | 493ms | 137ms | cpython 3.13.0 |
ruby | 6.rb | 448ms | 10ms | 31.0MB | 417ms | 17ms | ruby 3.3.6 |
python | 1.py | 472ms | 7.6ms | 8.8MB | 457ms | 0ms | cpython 3.13.0 |
python | 5-m.py | 544ms | 10ms | 64.9MB | 807ms | 310ms | pypy 3.10.14 |
haxe | 1.hx | 654ms | 2.7ms | 5.3MB | 570ms | 100ms | haxe/hl/c 4.3.6 |
haxe | 1.hx | 683ms | 2.7ms | 5.7MB | 603ms | 97ms | haxe/hl/jit 1.14.0 |
ruby | 6-m.rb | 814ms | 14ms | 395.1MB | 1973ms | 187ms | truffleruby 24.1.1 |