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 |
---|---|---|---|---|---|---|---|
d | 1-im.d | 393ms | 36ms | 5.1MB | 1413ms | 0ms | ldc2 1.39.0 |
cpp | 1-im.cpp | 403ms | 8.3ms | 4.5MB | 1543ms | 0ms | g++ 11.4.0 |
cpp | 1-im.cpp | 405ms | 7.4ms | 7.9MB | 1547ms | 3ms | clang++ 14.0.0-1ubuntu1.1 |
rust | 3-im.rs | 411ms | 7.0ms | 4.0MB | 1563ms | 0ms | rustc 1.82.0 |
rust | 5-m.rs | 575ms | 3.2ms | 4.0MB | 2170ms | 0ms | rustc 1.82.0 |
rust | 2-im.rs | 636ms | 0.6ms | 6.0MB | 2410ms | 0ms | rustc 1.82.0 |
zig | 2-m.zig | 647ms | 7.0ms | 3.5MB | 2430ms | 0ms | zig 0.13.0 |
go | 3-m.go | 722ms | 0.7ms | 5.6MB | 2777ms | 0ms | go 1.23.3 |
java | 1-m.java | 883ms | 4.1ms | 100.1MB | 3233ms | 47ms | graal/jvm 17.0.8 |
java | 1-m.java | 959ms | 4.0ms | 48.5MB | 3550ms | 30ms | openjdk 21 |
java | 1-m.java | 977ms | 6.4ms | 50.1MB | 3600ms | 17ms | openjdk 23 |
rust | 1-m.rs | 994ms | 4.8ms | 6.0MB | 3793ms | 0ms | rustc 1.82.0 |
java | 1-m.java | 1019ms | 44ms | 46.0MB | 3303ms | 137ms | openjdk/zgc 21 |
d | 2-im.d | 1136ms | 27ms | 5.1MB | 4287ms | 0ms | ldc2 1.39.0 |
d | 1-i.d | 1481ms | 0.7ms | 2.8MB | 1467ms | 0ms | ldc2 1.39.0 |
rust | 3-i.rs | 1492ms | 0.6ms | 1.9MB | 1480ms | 0ms | rustc 1.82.0 |
rust | 2-i.rs | 1785ms | 3.5ms | 1.8MB | 1777ms | 0ms | rustc 1.82.0 |
zig | 3-i.zig | 1788ms | 1.5ms | 1.1MB | 1780ms | 0ms | zig 0.13.0 |
v | 1.v | 2159ms | 10ms | 1.1MB | 2147ms | 0ms | v/clang 0.4.8 |
v | 1.v | 2271ms | 6.3ms | 1.9MB | 2260ms | 0ms | v/clang+gc 0.4.8 |
go | 3.go | 2276ms | 4.9ms | 50.2MB | 2260ms | 0ms | tinygo 0.34.0 |
zig | 2.zig | 2455ms | 43ms | 1.1MB | 2440ms | 0ms | zig 0.13.0 |
swift | 1.swift | 2465ms | 1.7ms | 8.3MB | 2450ms | 0ms | swift 6.0.2 |
crystal | 1.cr | 2479ms | 10ms | 3.0MB | 2467ms | 0ms | crystal 1.14.0 |
rust | 1.rs | 2696ms | 3.0ms | 1.8MB | 2687ms | 0ms | rustc 1.82.0 |
zig | 1.zig | 2862ms | 0.8ms | 1.1MB | 2850ms | 0ms | zig 0.13.0 |
dart | 2.dart | 2921ms | 12ms | 6.0MB | 2910ms | 0ms | dart/exe 3.5.4 |
ocaml | 2.ml | 2922ms | 17ms | 5.0MB | 2910ms | 0ms | ocaml 5.2.0 |
d | 1.d | 3136ms | 26ms | 2.8MB | 3123ms | 0ms | ldc2 1.39.0 |
d | 2-i.d | 3223ms | 4.8ms | 2.8MB | 3210ms | 0ms | ldc2 1.39.0 |
d | 1.d | 3502ms | 2.1ms | 4.6MB | 3490ms | 0ms | dmd 2.109.1 |
wasm | 1.rs | 4102ms | 7.9ms | 18.8MB | 4083ms | 3ms | wasmtime 25.0.3 |
d | 1-im.d | 4227ms | 47ms | 8.7MB | 16457ms | 0ms | dmd 2.109.1 |
d | 1-i.d | timeout | 0.0ms | 4.5MB | 4990ms | 0ms | dmd 2.109.1 |
d | 2-i.d | timeout | 0.0ms | 4.6MB | 4990ms | 0ms | dmd 2.109.1 |
d | 2-im.d | timeout | 0.0ms | 6.8MB | 19710ms | 10ms | dmd 2.109.1 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
rust | 3-im.rs | 38ms | 0.2ms | 4.0MB | 120ms | 0ms | rustc 1.82.0 |
d | 1-im.d | 40ms | 2.1ms | 4.9MB | 110ms | 0ms | ldc2 1.39.0 |
cpp | 1-im.cpp | 42ms | 1.0ms | 5.9MB | 123ms | 0ms | clang++ 14.0.0-1ubuntu1.1 |
cpp | 1-im.cpp | 44ms | 0.9ms | 4.5MB | 140ms | 0ms | g++ 11.4.0 |
rust | 5-m.rs | 56ms | 0.5ms | 4.0MB | 173ms | 0ms | rustc 1.82.0 |
rust | 2-im.rs | 61ms | 2.5ms | 6.0MB | 197ms | 0ms | rustc 1.82.0 |
zig | 2-m.zig | 63ms | 0.3ms | 3.6MB | 190ms | 0ms | zig 0.13.0 |
go | 3-m.go | 75ms | 0.2ms | 5.5MB | 207ms | 0ms | go 1.23.3 |
rust | 1-m.rs | 89ms | 2.0ms | 4.0MB | 303ms | 0ms | rustc 1.82.0 |
d | 2-im.d | 100ms | 1.6ms | 5.1MB | 343ms | 0ms | ldc2 1.39.0 |
d | 1-i.d | 124ms | 0.3ms | 2.8MB | 117ms | 0ms | ldc2 1.39.0 |
rust | 3-i.rs | 125ms | 0.2ms | 1.9MB | 113ms | 0ms | rustc 1.82.0 |
zig | 3-i.zig | 149ms | 0.0ms | 1.3MB | 140ms | 0ms | zig 0.13.0 |
rust | 2-i.rs | 151ms | 0.2ms | 1.8MB | 140ms | 0ms | rustc 1.82.0 |
java | 1-m.java | 185ms | 12ms | 48.4MB | 490ms | 30ms | openjdk 21 |
v | 1.v | 185ms | 2.2ms | 1.1MB | 170ms | 0ms | v/clang 0.4.8 |
java | 1-m.java | 195ms | 8.3ms | 50.1MB | 497ms | 30ms | openjdk 23 |
v | 1.v | 196ms | 0.4ms | 1.9MB | 190ms | 0ms | v/clang+gc 0.4.8 |
java | 1-m.java | 198ms | 13ms | 102.1MB | 540ms | 43ms | graal/jvm 17.0.8 |
zig | 2.zig | 201ms | 5.1ms | 1.1MB | 193ms | 0ms | zig 0.13.0 |
crystal | 1.cr | 206ms | 2.2ms | 3.0MB | 190ms | 0ms | crystal 1.14.0 |
swift | 1.swift | 213ms | 0.4ms | 8.1MB | 200ms | 0ms | swift 6.0.2 |
rust | 1.rs | 228ms | 2.5ms | 1.8MB | 217ms | 0ms | rustc 1.82.0 |
dart | 2.dart | 239ms | 2.3ms | 6.1MB | 230ms | 0ms | dart/exe 3.5.4 |
zig | 1.zig | 241ms | 0.5ms | 1.1MB | 230ms | 0ms | zig 0.13.0 |
ocaml | 2.ml | 246ms | 1.5ms | 5.0MB | 233ms | 0ms | ocaml 5.2.0 |
d | 1.d | 264ms | 4.4ms | 2.8MB | 253ms | 0ms | ldc2 1.39.0 |
d | 2-i.d | 267ms | 1.0ms | 2.9MB | 253ms | 0ms | ldc2 1.39.0 |
d | 1.d | 296ms | 2.1ms | 4.6MB | 287ms | 0ms | dmd 2.109.1 |
java | 1-m.java | 300ms | 5.1ms | 45.9MB | 493ms | 137ms | openjdk/zgc 21 |
wasm | 1.rs | 351ms | 3.0ms | 20.3MB | 333ms | 0ms | wasmtime 25.0.3 |
d | 1-im.d | 355ms | 4.0ms | 6.9MB | 1340ms | 0ms | dmd 2.109.1 |
go | 3.go | 488ms | 2.3ms | 50.1MB | 473ms | 0ms | tinygo 0.34.0 |
d | 2-im.d | 531ms | 2.2ms | 8.8MB | 1990ms | 0ms | dmd 2.109.1 |
d | 1-i.d | 863ms | 34ms | 4.5MB | 853ms | 0ms | dmd 2.109.1 |
d | 2-i.d | 1415ms | 9.9ms | 4.5MB | 1403ms | 0ms | dmd 2.109.1 |