Current benchmark data was generated on Sun Dec 01 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 | 35ms | 1.7ms | 2.9MB | 23ms | 0ms | zig 0.13.0 |
crystal | 0-unsafe.cr | 36ms | 1.4ms | 3.1MB | 20ms | 0ms | crystal 1.14.0 |
rust | 0-unsafe.rs | 42ms | 1.1ms | 1.9MB | 30ms | 0ms | rustc 1.83.0 |
rust | 1.rs | 51ms | 4.9ms | 2.0MB | 43ms | 0ms | rustc 1.83.0 |
crystal | 1.cr | 63ms | 1.1ms | 3.1MB | 50ms | 0ms | crystal 1.14.0 |
wasm | 1.rs | 79ms | 1.1ms | 20.7MB | 60ms | 0ms | wasmtime 27.0.0 |
wasm | 1.rs | 80ms | 0.5ms | 37.2MB | 63ms | 0ms | wasmer/llvm 5.0.2 |
csharp | 2.cs | 94ms | 2.1ms | 13.8MB | 80ms | 0ms | dotnet/aot 9.0.100 |
nim | 2.nim | 110ms | 2.7ms | 1.6MB | 100ms | 0ms | nim/clang 2.2.0 |
nim | 2.nim | 116ms | 2.9ms | 1.3MB | 107ms | 0ms | nim 2.2.0 |
d | 1.d | 125ms | 0.6ms | 5.8MB | 117ms | 3ms | ldc2 1.39.0 |
go | 3.go | 132ms | 1.8ms | 3.4MB | 123ms | 0ms | go 1.23.3 |
go | 3.go | 135ms | 3.9ms | 0.3MB | 127ms | 0ms | tinygo 0.34.0 |
haxe | 1.hx | 135ms | 3.7ms | 20.4MB | 123ms | 3ms | haxe/cpp 4.3.6 |
haxe | 1.hx | 136ms | 1.5ms | 5.0MB | 130ms | 0ms | haxe/hl/c 4.3.6 |
odin | 1.odin | 144ms | 0.2ms | 1.6MB | 137ms | 0ms | odin 2024 |
python | 2.py | 146ms | 5.0ms | 57.9MB | 120ms | 7ms | pypy 3.10.14 |
csharp | 2.cs | 150ms | 3.6ms | 24.7MB | 137ms | 0ms | mono 6.12.0 |
haxe | 1.hx | 159ms | 3.9ms | 5.8MB | 143ms | 3ms | haxe/hl/jit 1.14.0 |
dart | 2.dart | 162ms | 2.4ms | 9.3MB | 153ms | 0ms | dart/exe 3.5.4 |
python | 1.py | 176ms | 0.5ms | 59.5MB | 150ms | 10ms | pypy 3.10.14 |
d | 1.d | 181ms | 0.7ms | 7.8MB | 170ms | 3ms | dmd 2.109.1 |
ocaml | 1.ml | 183ms | 10ms | 6.4MB | 170ms | 0ms | ocaml 5.2.1 |
kotlin | 1-m.kt | 185ms | 5.2ms | 96.3MB | 300ms | 30ms | kotlin/jvm 21 |
kotlin | 2-m.kt | 198ms | 2.7ms | 103.3MB | 427ms | 33ms | kotlin/jvm 21 |
v | 1.v | 239ms | 2.0ms | 1.3MB | 230ms | 0ms | v/clang 0.4.8 |
csharp | 2.cs | 257ms | 15ms | 35.6MB | 233ms | 7ms | dotnet 9.0.100 |
v | 1.v | 259ms | 4.5ms | 2.1MB | 250ms | 0ms | v/clang+gc 0.4.8 |
typescript | 2.ts | 270ms | 3.0ms | 69.3MB | 253ms | 17ms | deno 2.1.2 |
kotlin | 2.kt | 303ms | 3.4ms | 7.6MB | 423ms | 17ms | kotlin/native 1.8.21 |
javascript | 2.js | 307ms | 1.5ms | 66.6MB | 293ms | 17ms | node 23.3.0 |
ruby | 1.rb | 327ms | 4.3ms | 28.4MB | 293ms | 20ms | ruby/yjit 3.3.6 |
dart | 1.dart | 491ms | 6.8ms | 9.5MB | 483ms | 0ms | dart/exe 3.5.4 |
kotlin | 1.kt | 505ms | 3.2ms | 7.8MB | 597ms | 7ms | kotlin/native 1.8.21 |
ruby | 1.rb | 541ms | 51ms | 28.3MB | 510ms | 17ms | ruby 3.3.6 |
javascript | 1.js | 556ms | 4.1ms | 64.6MB | 543ms | 7ms | node 23.3.0 |
typescript | 1.ts | 572ms | 3.4ms | 61.9MB | 550ms | 17ms | deno 2.1.2 |
javascript | 2.js | 654ms | 2.5ms | 122.6MB | 690ms | 73ms | bun 1.1.38 |
ruby | 1-m.rb | 688ms | 35ms | 390.9MB | 1207ms | 143ms | truffleruby 24.1.1 |
python | 1.py | 713ms | 3.1ms | 8.9MB | 703ms | 0ms | pyston 3.8.12 |
python | 2.py | 841ms | 12ms | 8.5MB | 830ms | 0ms | pyston 3.8.12 |
javascript | 1.js | 879ms | 2.7ms | 110.8MB | 957ms | 87ms | bun 1.1.38 |
csharp | 1.cs | 1062ms | 8.1ms | 17.1MB | 1037ms | 10ms | dotnet/aot 9.0.100 |
python | 1.py | 1118ms | 25ms | 9.4MB | 1110ms | 0ms | cpython 3.13.0 |
python | 2.py | 1290ms | 15ms | 9.1MB | 1273ms | 0ms | cpython 3.13.0 |
csharp | 1.cs | 1361ms | 54ms | 37.1MB | 1357ms | 3ms | dotnet 9.0.100 |
csharp | 1.cs | 3397ms | 88ms | 45.7MB | 3350ms | 33ms | mono 6.12.0 |
nim | 1.nim | timeout | 0.0ms | 1.5MB | 4990ms | 0ms | nim/clang 2.2.0 |
nim | 1.nim | timeout | 0.0ms | 1.3MB | 4987ms | 0ms | nim 2.2.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
zig | 1.zig | 98ms | 2.2ms | 2.9MB | 90ms | 0ms | zig 0.13.0 |
crystal | 0-unsafe.cr | 99ms | 0.6ms | 3.1MB | 90ms | 0ms | crystal 1.14.0 |
rust | 0-unsafe.rs | 156ms | 1.9ms | 1.9MB | 150ms | 0ms | rustc 1.83.0 |
crystal | 1.cr | 187ms | 1.0ms | 3.3MB | 180ms | 0ms | crystal 1.14.0 |
rust | 1.rs | 197ms | 16ms | 2.0MB | 187ms | 0ms | rustc 1.83.0 |
wasm | 1.rs | 220ms | 0.7ms | 37.4MB | 207ms | 3ms | wasmer/llvm 5.0.2 |
wasm | 1.rs | 224ms | 4.2ms | 19.1MB | 210ms | 0ms | wasmtime 27.0.0 |
csharp | 2.cs | 265ms | 4.1ms | 13.9MB | 250ms | 0ms | dotnet/aot 9.0.100 |
kotlin | 2-m.kt | 310ms | 1.0ms | 213.2MB | 547ms | 50ms | kotlin/jvm 21 |
nim | 2.nim | 322ms | 3.0ms | 1.9MB | 313ms | 0ms | nim/clang 2.2.0 |
kotlin | 1.kt | 329ms | 4.8ms | 204.6MB | 437ms | 40ms | kotlin/jvm 21 |
nim | 2.nim | 335ms | 1.0ms | 1.3MB | 323ms | 0ms | nim 2.2.0 |
python | 2.py | 339ms | 1.0ms | 58.9MB | 313ms | 13ms | pypy 3.10.14 |
csharp | 2.cs | 358ms | 3.2ms | 24.3MB | 340ms | 7ms | mono 6.12.0 |
d | 1.d | 359ms | 0.1ms | 5.8MB | 350ms | 10ms | ldc2 1.39.0 |
python | 1.py | 372ms | 2.9ms | 60.4MB | 347ms | 10ms | pypy 3.10.14 |
haxe | 1.hx | 378ms | 2.7ms | 25.5MB | 360ms | 7ms | haxe/cpp 4.3.6 |
go | 3.go | 380ms | 0.4ms | 3.4MB | 370ms | 0ms | go 1.23.3 |
go | 3.go | 391ms | 5.4ms | 2.3MB | 383ms | 0ms | tinygo 0.34.0 |
haxe | 1.hx | 396ms | 2.4ms | 5.1MB | 383ms | 0ms | haxe/hl/c 4.3.6 |
csharp | 2.cs | 401ms | 1.0ms | 35.5MB | 377ms | 13ms | dotnet 9.0.100 |
odin | 1.odin | 428ms | 3.8ms | 1.6MB | 417ms | 0ms | odin 2024 |
haxe | 1.hx | 458ms | 2.3ms | 5.8MB | 447ms | 3ms | haxe/hl/jit 1.14.0 |
dart | 2.dart | 472ms | 1.6ms | 9.3MB | 457ms | 3ms | dart/exe 3.5.4 |
ocaml | 1.ml | 530ms | 20ms | 6.6MB | 517ms | 0ms | ocaml 5.2.1 |
d | 1.d | 531ms | 3.4ms | 8.1MB | 510ms | 20ms | dmd 2.109.1 |
v | 1.v | 706ms | 3.0ms | 1.3MB | 697ms | 0ms | v/clang 0.4.8 |
typescript | 2.ts | 740ms | 7.1ms | 74.0MB | 730ms | 20ms | deno 2.1.2 |
v | 1.v | 767ms | 5.1ms | 2.1MB | 757ms | 0ms | v/clang+gc 0.4.8 |
ruby | 1.rb | 834ms | 9.1ms | 28.5MB | 800ms | 20ms | ruby/yjit 3.3.6 |
javascript | 2.js | 850ms | 3.9ms | 71.8MB | 830ms | 23ms | node 23.3.0 |
kotlin | 2.kt | 910ms | 4.1ms | 7.8MB | 1313ms | 40ms | kotlin/native 1.8.21 |
ruby | 1-m.rb | 1270ms | 23ms | 436.7MB | 1760ms | 173ms | truffleruby 24.1.1 |
ruby | 1.rb | 1406ms | 22ms | 28.3MB | 1373ms | 23ms | ruby 3.3.6 |
dart | 1.dart | 1450ms | 3.8ms | 9.3MB | 1430ms | 7ms | dart/exe 3.5.4 |
kotlin | 1.kt | 1549ms | 11ms | 7.8MB | 1893ms | 20ms | kotlin/native 1.8.21 |
javascript | 1.js | 1581ms | 2.8ms | 71.0MB | 1560ms | 17ms | node 23.3.0 |
typescript | 1.ts | 1651ms | 25ms | 72.1MB | 1627ms | 20ms | deno 2.1.2 |
javascript | 2.js | 1821ms | 23ms | 122.0MB | 1977ms | 60ms | bun 1.1.38 |
python | 1.py | 2130ms | 31ms | 8.9MB | 2117ms | 3ms | pyston 3.8.12 |
python | 2.py | 2504ms | 61ms | 8.5MB | 2490ms | 0ms | pyston 3.8.12 |
javascript | 1.js | 2555ms | 37ms | 110.8MB | 2857ms | 143ms | bun 1.1.38 |
csharp | 1.cs | 3170ms | 34ms | 17.2MB | 3147ms | 13ms | dotnet/aot 9.0.100 |
python | 1.py | 3298ms | 41ms | 9.4MB | 3283ms | 0ms | cpython 3.13.0 |
csharp | 1.cs | 3581ms | 8.0ms | 39.1MB | 3553ms | 30ms | dotnet 9.0.100 |
python | 2.py | 3869ms | 4.9ms | 9.1MB | 3853ms | 0ms | cpython 3.13.0 |
csharp | 1.cs | timeout | 0.0ms | 47.7MB | 4940ms | 50ms | mono 6.12.0 |
nim | 1.nim | timeout | 0.0ms | 1.5MB | 4990ms | 0ms | nim/clang 2.2.0 |
nim | 1.nim | timeout | 0.0ms | 1.3MB | 4987ms | 0ms | nim 2.2.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
zig | 1.zig | 16ms | 1.3ms | 1.4MB | 10ms | 0ms | zig 0.13.0 |
crystal | 0-unsafe.cr | 19ms | 1.0ms | 3.0MB | 10ms | 0ms | crystal 1.14.0 |
rust | 0-unsafe.rs | 26ms | 0.5ms | 1.9MB | 20ms | 0ms | rustc 1.83.0 |
rust | 1.rs | 29ms | 0.7ms | 1.9MB | 20ms | 0ms | rustc 1.83.0 |
crystal | 1.cr | 30ms | 0.7ms | 3.0MB | 20ms | 0ms | crystal 1.14.0 |
wasm | 1.rs | 46ms | 0.7ms | 19.2MB | 37ms | 0ms | wasmtime 27.0.0 |
nim | 2.nim | 49ms | 1.7ms | 1.5MB | 40ms | 0ms | nim/clang 2.2.0 |
wasm | 1.rs | 49ms | 1.3ms | 38.5MB | 37ms | 0ms | wasmer/llvm 5.0.2 |
nim | 2.nim | 51ms | 0.5ms | 1.3MB | 40ms | 0ms | nim 2.2.0 |
csharp | 2.cs | 51ms | 1.5ms | 13.5MB | 37ms | 3ms | dotnet/aot 9.0.100 |
d | 1.d | 55ms | 0.6ms | 5.9MB | 50ms | 0ms | ldc2 1.39.0 |
haxe | 1.hx | 62ms | 0.1ms | 12.4MB | 50ms | 0ms | haxe/cpp 4.3.6 |
haxe | 1.hx | 67ms | 0.4ms | 5.0MB | 60ms | 0ms | haxe/hl/c 4.3.6 |
odin | 1.odin | 67ms | 1.9ms | 1.6MB | 60ms | 0ms | odin 2024 |
go | 3.go | 68ms | 0.8ms | 5.4MB | 57ms | 0ms | go 1.23.3 |
go | 3.go | 69ms | 1.6ms | 0.1MB | 60ms | 0ms | tinygo 0.34.0 |
ocaml | 1.ml | 78ms | 2.4ms | 5.9MB | 67ms | 0ms | ocaml 5.2.1 |
haxe | 1.hx | 79ms | 0.1ms | 5.7MB | 67ms | 0ms | haxe/hl/jit 1.14.0 |
dart | 2.dart | 79ms | 4.7ms | 9.4MB | 70ms | 0ms | dart/exe 3.5.4 |
d | 1.d | 81ms | 0.9ms | 7.9MB | 73ms | 0ms | dmd 2.109.1 |
v | 1.v | 92ms | 1.4ms | 1.3MB | 80ms | 0ms | v/clang 0.4.8 |
csharp | 2.cs | 92ms | 0.6ms | 27.2MB | 80ms | 0ms | mono 6.12.0 |
v | 1.v | 101ms | 1.3ms | 2.1MB | 90ms | 0ms | v/clang+gc 0.4.8 |
python | 2.py | 103ms | 0.8ms | 57.8MB | 77ms | 13ms | pypy 3.10.14 |
dart | 1.dart | 115ms | 0.9ms | 9.4MB | 100ms | 0ms | dart/exe 3.5.4 |
python | 1.py | 120ms | 2.9ms | 58.5MB | 97ms | 7ms | pypy 3.10.14 |
kotlin | 2.kt | 137ms | 0.1ms | 5.7MB | 190ms | 0ms | kotlin/native 1.8.21 |
kotlin | 1-m.kt | 142ms | 1.1ms | 90.9MB | 277ms | 27ms | kotlin/jvm 21 |
typescript | 2.ts | 142ms | 3.0ms | 64.8MB | 137ms | 7ms | deno 2.1.2 |
kotlin | 2-m.kt | 158ms | 11ms | 93.7MB | 300ms | 37ms | kotlin/jvm 21 |
javascript | 2.js | 166ms | 2.5ms | 60.1MB | 163ms | 3ms | node 23.3.0 |
kotlin | 1.kt | 166ms | 2.7ms | 5.8MB | 203ms | 0ms | kotlin/native 1.8.21 |
typescript | 1.ts | 167ms | 2.2ms | 60.9MB | 150ms | 10ms | deno 2.1.2 |
javascript | 1.js | 172ms | 16ms | 61.8MB | 157ms | 10ms | node 23.3.0 |
csharp | 2.cs | 190ms | 12ms | 35.5MB | 153ms | 0ms | dotnet 9.0.100 |
ruby | 1.rb | 197ms | 0.7ms | 28.4MB | 167ms | 13ms | ruby/yjit 3.3.6 |
ruby | 1.rb | 290ms | 3.2ms | 28.3MB | 260ms | 13ms | ruby 3.3.6 |
javascript | 1.js | 323ms | 4.0ms | 119.0MB | 360ms | 73ms | bun 1.1.38 |
python | 1.py | 349ms | 5.9ms | 8.5MB | 333ms | 0ms | pyston 3.8.12 |
javascript | 2.js | 352ms | 4.1ms | 125.4MB | 380ms | 47ms | bun 1.1.38 |
python | 2.py | 384ms | 5.3ms | 8.1MB | 367ms | 3ms | pyston 3.8.12 |
nim | 1.nim | 489ms | 3.0ms | 1.5MB | 480ms | 0ms | nim/clang 2.2.0 |
nim | 1.nim | 490ms | 1.1ms | 1.3MB | 480ms | 0ms | nim 2.2.0 |
python | 1.py | 536ms | 14ms | 9.3MB | 520ms | 0ms | cpython 3.13.0 |
ruby | 1-m.rb | 555ms | 11ms | 368.8MB | 1063ms | 157ms | truffleruby 24.1.1 |
python | 2.py | 617ms | 1.4ms | 8.8MB | 607ms | 0ms | cpython 3.13.0 |
csharp | 1.cs | 1618ms | 7.3ms | 36.6MB | 1607ms | 13ms | dotnet 9.0.100 |
csharp | 1.cs | 1808ms | 9.3ms | 17.0MB | 1787ms | 3ms | dotnet/aot 9.0.100 |
csharp | 1.cs | 1811ms | 3.9ms | 28.8MB | 1797ms | 0ms | mono 6.12.0 |