Current benchmark data was generated on Tue Mar 25 2025, 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 |
---|---|---|---|---|---|---|---|
dart | 1.dart | 323ms | 0.9ms | 63.8MB | 300ms | 23ms | dart/exe 3.7.2 |
kotlin | 1.kt | 361ms | 2.6ms | 681.5MB | 383ms | 97ms | kotlin/jvm 21 |
java | 1.java | 402ms | 1.4ms | 539.4MB | 503ms | 83ms | openjdk 23 |
java | 1.java | 403ms | 0.8ms | 679.7MB | 470ms | 100ms | openjdk 21 |
java | 1-m.java | 407ms | 4.5ms | 624.7MB | 617ms | 97ms | graal/jvm 17.0.8 |
javascript | 1-m.js | 493ms | 5.5ms | 143.4MB | 640ms | 137ms | bun 1.2.6 |
nim | 1.nim | 545ms | 5.4ms | 34.6MB | 527ms | 0ms | nim 2.2.2 |
javascript | 1.js | 552ms | 10ms | 130.6MB | 640ms | 70ms | node 23.10.0 |
typescript | 1.ts | 574ms | 4.6ms | 228.2MB | 583ms | 110ms | deno 2.2.5 |
csharp | 2.cs | 584ms | 14ms | 120.7MB | 530ms | 90ms | dotnet/aot 9.0.202 |
nim | 1.nim | 618ms | 12ms | 34.9MB | 597ms | 3ms | nim/clang 2.2.2 |
csharp | 1.cs | 643ms | 4.4ms | 149.1MB | 590ms | 130ms | dotnet/aot 9.0.202 |
csharp | 2.cs | 676ms | 4.0ms | 135.9MB | 640ms | 93ms | dotnet 9.0.202 |
rust | 1.rs | 708ms | 3.7ms | 33.8MB | 683ms | 10ms | rustc 1.85.1 |
csharp | 1.cs | 786ms | 10ms | 170.1MB | 717ms | 137ms | dotnet 9.0.202 |
crystal | 1.cr | 864ms | 6.5ms | 64.0MB | 843ms | 10ms | crystal 1.15.1 |
zig | 1.zig | 878ms | 6.2ms | 41.0MB | 853ms | 10ms | zig 0.14.0 |
go | 1.go | 886ms | 4.8ms | 63.1MB | 863ms | 10ms | tinygo 0.37.0 |
wasm | 1.rs | 906ms | 18ms | 41.1MB | 880ms | 10ms | wasmtime 31.0.0 |
haxe | 1.hx | 921ms | 13ms | 95.0MB | 1030ms | 47ms | haxe/cpp 4.3.6 |
d | 1.d | 988ms | 12ms | 312.6MB | 960ms | 33ms | ldc2 1.40.1 |
ocaml | 1.ml | 1104ms | 1.1ms | 70.3MB | 1060ms | 30ms | ocaml 5.3.0 |
java | 1.java | 1109ms | 14ms | 993.0MB | 460ms | 777ms | openjdk/zgc 21 |
go | 2.go | 1140ms | 2.7ms | 55.0MB | 1113ms | 10ms | tinygo 0.37.0 |
csharp | 1.cs | 1310ms | 9.0ms | 139.7MB | 1530ms | 160ms | mono 6.12.0 |
go | 1-m.go | 1477ms | 1.1ms | 45.0MB | 3100ms | 50ms | go 1.24.1 |
kotlin | 1-m.kt | 1532ms | 6.5ms | 134.6MB | 2337ms | 353ms | kotlin/native 1.8.21 |
go | 2-m.go | 1708ms | 9.0ms | 40.9MB | 3773ms | 33ms | go 1.24.1 |
d | 1.d | 1785ms | 13ms | 314.7MB | 1923ms | 40ms | dmd 2.110.0 |
python | 1.py | 2242ms | 13ms | 202.7MB | 2123ms | 100ms | pypy 3.10.16 |
ocaml | 2.ml | 2279ms | 5.8ms | 91.8MB | 2220ms | 43ms | ocaml 5.3.0 |
acton | 1.act | 3317ms | 13ms | 102.0MB | 3620ms | 57ms | actonc 0.24.1 |
php | 1.php | 3793ms | 53ms | 114.0MB | 3750ms | 30ms | php 8.2.28 |
ruby | 1-m.rb | 3955ms | 22ms | 606.4MB | 10090ms | 377ms | truffleruby 24.2.0 |
haxe | 1.hx | timeout | 0.0ms | 32.6MB | 5003ms | 510ms | haxe/hl/c 4.3.6 |
haxe | 1.hx | timeout | 0.0ms | 55.1MB | 6120ms | 473ms | haxe/hl/jit 1.15.0 |
lua | 1.lua | timeout | 0.0ms | 107.5MB | 4950ms | 33ms | lua 5.4.7 |
lua | 1.lua | timeout | 0.0ms | 149.3MB | 4927ms | 60ms | luajit 2.1.0-beta3 |
python | 1.py | timeout | 0.0ms | 93.6MB | 4953ms | 30ms | cpython 3.13.2 |
python | 1.py | timeout | 0.0ms | 130.4MB | 4930ms | 53ms | pyston 3.8.12 |
ruby | 1.rb | timeout | 0.0ms | 94.3MB | 4940ms | 50ms | ruby 3.4.2 |
ruby | 1.rb | timeout | 0.0ms | 94.1MB | 4933ms | 53ms | ruby/yjit 3.4.2 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
dart | 1.dart | 86ms | 0.7ms | 43.8MB | 60ms | 17ms | dart/exe 3.7.2 |
nim | 1.nim | 116ms | 0.7ms | 9.6MB | 100ms | 0ms | nim 2.2.2 |
javascript | 1.js | 120ms | 0.9ms | 87.8MB | 107ms | 33ms | bun 1.2.6 |
kotlin | 1.kt | 133ms | 0.6ms | 208.5MB | 157ms | 37ms | kotlin/jvm 21 |
nim | 1.nim | 134ms | 1.4ms | 9.9MB | 120ms | 0ms | nim/clang 2.2.2 |
csharp | 2.cs | 146ms | 5.1ms | 56.7MB | 110ms | 40ms | dotnet/aot 9.0.202 |
ocaml | 1.ml | 149ms | 3.1ms | 21.6MB | 130ms | 7ms | ocaml 5.3.0 |
rust | 1.rs | 153ms | 0.3ms | 9.8MB | 140ms | 0ms | rustc 1.85.1 |
crystal | 1.cr | 157ms | 3.4ms | 22.1MB | 143ms | 0ms | crystal 1.15.1 |
typescript | 1.ts | 158ms | 4.2ms | 96.5MB | 157ms | 37ms | deno 2.2.5 |
csharp | 1.cs | 162ms | 5.8ms | 74.4MB | 130ms | 47ms | dotnet/aot 9.0.202 |
java | 1-m.java | 163ms | 1.4ms | 158.5MB | 237ms | 47ms | openjdk 23 |
javascript | 1.js | 165ms | 1.9ms | 98.3MB | 163ms | 37ms | node 23.10.0 |
java | 1-m.java | 167ms | 4.0ms | 206.4MB | 237ms | 47ms | openjdk 21 |
go | 1.go | 175ms | 2.5ms | 9.8MB | 160ms | 0ms | tinygo 0.37.0 |
haxe | 1.hx | 176ms | 6.0ms | 26.6MB | 180ms | 10ms | haxe/cpp 4.3.6 |
zig | 1.zig | 181ms | 5.2ms | 11.0MB | 167ms | 0ms | zig 0.14.0 |
d | 1.d | 198ms | 1.8ms | 312.7MB | 163ms | 23ms | ldc2 1.40.1 |
wasm | 1.rs | 198ms | 6.2ms | 23.1MB | 180ms | 0ms | wasmtime 31.0.0 |
go | 2.go | 209ms | 3.5ms | 17.1MB | 193ms | 0ms | tinygo 0.37.0 |
java | 1-m.java | 214ms | 4.0ms | 253.3MB | 350ms | 63ms | graal/jvm 17.0.8 |
csharp | 1.cs | 266ms | 4.9ms | 69.5MB | 233ms | 37ms | mono 6.12.0 |
csharp | 2.cs | 266ms | 1.7ms | 74.3MB | 227ms | 37ms | dotnet 9.0.202 |
csharp | 1.cs | 276ms | 1.3ms | 89.6MB | 247ms | 53ms | dotnet 9.0.202 |
kotlin | 1-m.kt | 312ms | 1.7ms | 38.5MB | 457ms | 73ms | kotlin/native 1.8.21 |
go | 1-m.go | 343ms | 10ms | 12.3MB | 687ms | 17ms | go 1.24.1 |
d | 1.d | 350ms | 9.4ms | 314.7MB | 320ms | 27ms | dmd 2.110.0 |
go | 2-m.go | 376ms | 1.3ms | 14.0MB | 800ms | 27ms | go 1.24.1 |
python | 1.py | 384ms | 3.7ms | 105.2MB | 320ms | 47ms | pypy 3.10.16 |
ocaml | 2.ml | 396ms | 3.4ms | 27.7MB | 377ms | 7ms | ocaml 5.3.0 |
java | 1.java | 427ms | 11ms | 341.8MB | 217ms | 287ms | openjdk/zgc 21 |
acton | 1.act | 715ms | 22ms | 30.5MB | 753ms | 33ms | actonc 0.24.1 |
php | 1.php | 832ms | 5.8ms | 67.1MB | 793ms | 23ms | php 8.2.28 |
lua | 1.lua | 1193ms | 7.0ms | 31.3MB | 1163ms | 17ms | luajit 2.1.0-beta3 |
haxe | 1.hx | 1311ms | 3.0ms | 10.8MB | 1260ms | 130ms | haxe/hl/c 4.3.6 |
haxe | 1.hx | 1435ms | 19ms | 20.4MB | 1457ms | 143ms | haxe/hl/jit 1.15.0 |
ruby | 1-m.rb | 2157ms | 107ms | 616.5MB | 5503ms | 283ms | truffleruby 24.2.0 |
lua | 1.lua | 2269ms | 74ms | 28.6MB | 2247ms | 7ms | lua 5.4.7 |
python | 1.py | 3229ms | 20ms | 37.2MB | 3203ms | 13ms | cpython 3.13.2 |
ruby | 1.rb | 3496ms | 172ms | 38.3MB | 3457ms | 23ms | ruby/yjit 3.4.2 |
ruby | 1.rb | 4445ms | 2.9ms | 37.8MB | 4413ms | 17ms | ruby 3.4.2 |
python | 1.py | timeout | 0.0ms | 48.4MB | 4963ms | 23ms | pyston 3.8.12 |