Current benchmark data was generated on Fri Jul 01 2022, 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 |
---|---|---|---|---|---|---|---|
v | 1.v | 450ms | 2.1ms | 5.1MB | 440ms | 0ms | v/clang+gc 0.3.0 |
rust | 9.rs | 454ms | 14ms | 4.9MB | 440ms | 0ms | rustc 1.64.0-nightly |
zig | 1.zig | 461ms | 9.2ms | 3.1MB | 450ms | 0ms | zig 0.10.0-dev.2820+48fd92365 |
v | 1.v | 481ms | 12ms | 8.3MB | 467ms | 0ms | v/clang 0.3.0 |
rust | 8.rs | 619ms | 0.9ms | 4.8MB | 607ms | 3ms | rustc 1.62.0 |
nim | 1.nim | 624ms | 6.7ms | 4.7MB | 610ms | 0ms | nim/clang 1.6.6 |
csharp | 2.cs | 810ms | 3.6ms | 83.6MB | 750ms | 30ms | dotnet 6.0.301 |
crystal | 1.cr | 1080ms | 5.3ms | 7.5MB | 1067ms | 0ms | crystal 1.4.1 |
nim | 1.nim | 1083ms | 7.3ms | 4.5MB | 1067ms | 0ms | nim 1.6.6 |
wasm | 8.rs | 1251ms | 2.7ms | 46.7MB | 1267ms | 10ms | node 16.15.1 |
wasm | 8.rs | 1313ms | 10ms | 8.2MB | 1300ms | 0ms | wasmedgec 0.10.0 |
wasm | 8.rs | 1510ms | 37ms | 9.0MB | 1487ms | 0ms | wasmer/llvm 2.3.0 |
odin | 1.odin | 1691ms | 7.7ms | 4.7MB | 1680ms | 0ms | odin 2022 |
wasm | 8.rs | 1705ms | 12ms | 13.6MB | 1690ms | 0ms | wasmtime 0.38.1 |
java | 1b.java | 1835ms | 34ms | 48.4MB | 1943ms | 23ms | openjdk 19 |
java | 1b.java | 1842ms | 15ms | 49.7MB | 1963ms | 23ms | openjdk 18.0.1 |
java | 1b.java | 1909ms | 29ms | 49.1MB | 1957ms | 87ms | openjdk/zgc 18.0.1 |
java | 1b.java | 1979ms | 25ms | 137.4MB | 2320ms | 60ms | graal/jvm 17.0.3 |
java | 1a.java | 2200ms | 24ms | 47.7MB | 2313ms | 13ms | openjdk 18.0.1 |
java | 1a.java | 2209ms | 28ms | 48.5MB | 2313ms | 27ms | openjdk 19 |
java | 1a.java | 2282ms | 52ms | 123.5MB | 2460ms | 43ms | graal/jvm 17.0.3 |
java | 1a.java | 2291ms | 16ms | 49.7MB | 2303ms | 87ms | openjdk/zgc 18.0.1 |
java | 1.java | 2494ms | 18ms | 131.8MB | 2673ms | 50ms | graal/jvm 17.0.3 |
java | 1.java | 2626ms | 19ms | 217.2MB | 2677ms | 60ms | openjdk 18.0.1 |
java | 1.java | 2638ms | 2.2ms | 208.0MB | 2693ms | 63ms | openjdk 19 |
java | 1.java | 2902ms | 59ms | 692.4MB | 2527ms | 497ms | openjdk/zgc 18.0.1 |
csharp | 1.cs | 4167ms | 21ms | 34.8MB | 4117ms | 17ms | dotnet 6.0.301 |
csharp | 3.cs | 4491ms | 46ms | 36.2MB | 4447ms | 13ms | dotnet 6.0.301 |
go | 1.go | 4715ms | 6.8ms | 5.3MB | 4697ms | 13ms | go 1.18.3 |
csharp | 1.cs | timeout | 0.0ms | 0.0MB | 0ms | 0ms | mono 6.12.0 |
go | 1.go | timeout | 0.0ms | 0.0MB | 0ms | 0ms | tinygo 0.23.0 |
java | 2.java | timeout | 0.0ms | 0.0MB | 0ms | 0ms | openjdk 18.0.1 |
java | 2.java | timeout | 0.0ms | 0.0MB | 0ms | 0ms | openjdk 19 |
java | 2.java | timeout | 0.0ms | 0.0MB | 0ms | 0ms | openjdk/zgc 18.0.1 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
rust | 9.rs | 21ms | 0.4ms | 0.6MB | 10ms | 0ms | rustc 1.64.0-nightly |
v | 1.v | 23ms | 0.7ms | 2.2MB | 10ms | 0ms | v/clang+gc 0.3.0 |
v | 1.v | 25ms | 2.4ms | 2.3MB | 13ms | 0ms | v/clang 0.3.0 |
zig | 1.zig | 27ms | 5.7ms | 0.0MB | 13ms | 0ms | zig 0.10.0-dev.2820+48fd92365 |
rust | 8.rs | 29ms | 0.5ms | 0.6MB | 17ms | 0ms | rustc 1.62.0 |
nim | 1.nim | 32ms | 3.5ms | 1.0MB | 20ms | 0ms | nim/clang 1.6.6 |
nim | 1.nim | 47ms | 0.8ms | 0.7MB | 40ms | 0ms | nim 1.6.6 |
crystal | 1.cr | 52ms | 1.8ms | 4.9MB | 40ms | 0ms | crystal 1.4.1 |
wasm | 8.rs | 61ms | 1.3ms | 5.6MB | 40ms | 0ms | wasmedgec 0.10.0 |
wasm | 8.rs | 68ms | 1.3ms | 6.1MB | 60ms | 0ms | wasmer/llvm 2.3.0 |
odin | 1.odin | 73ms | 0.9ms | 0.8MB | 67ms | 0ms | odin 2022 |
wasm | 8.rs | 81ms | 3.3ms | 10.8MB | 63ms | 0ms | wasmtime 0.38.1 |
csharp | 2.cs | 126ms | 27ms | 38.7MB | 83ms | 13ms | dotnet 6.0.301 |
wasm | 8.rs | 152ms | 3.8ms | 43.9MB | 170ms | 10ms | node 16.15.1 |
go | 1.go | 196ms | 3.0ms | 4.9MB | 183ms | 0ms | go 1.18.3 |
java | 1a.java | 259ms | 14ms | 43.3MB | 327ms | 33ms | openjdk 18.0.1 |
java | 1.java | 270ms | 4.5ms | 96.2MB | 350ms | 27ms | openjdk 18.0.1 |
csharp | 3.cs | 271ms | 7.3ms | 31.1MB | 240ms | 7ms | dotnet 6.0.301 |
java | 1.java | 271ms | 6.7ms | 95.5MB | 333ms | 33ms | openjdk 19 |
java | 1b-m.java | 275ms | 7.2ms | 46.0MB | 387ms | 27ms | openjdk 19 |
java | 1a.java | 278ms | 27ms | 48.4MB | 373ms | 20ms | openjdk 19 |
java | 1b.java | 278ms | 16ms | 43.0MB | 373ms | 27ms | openjdk 18.0.1 |
java | 1a.java | 311ms | 1.6ms | 40.7MB | 307ms | 83ms | openjdk/zgc 18.0.1 |
java | 1b.java | 314ms | 11ms | 44.1MB | 340ms | 77ms | openjdk/zgc 18.0.1 |
csharp | 1.cs | 354ms | 2.9ms | 31.4MB | 320ms | 10ms | dotnet 6.0.301 |
java | 1.java | 373ms | 17ms | 109.5MB | 347ms | 100ms | openjdk/zgc 18.0.1 |
go | 1.go | 406ms | 7.2ms | 0.0MB | 393ms | 0ms | tinygo 0.23.0 |
java | 1a.java | 596ms | 12ms | 103.4MB | 363ms | 50ms | graal/jvm 17.0.3 |
java | 1.java | 614ms | 11ms | 111.7MB | 380ms | 57ms | graal/jvm 17.0.3 |
java | 1b.java | 647ms | 30ms | 121.3MB | 490ms | 57ms | graal/jvm 17.0.3 |
csharp | 1.cs | 900ms | 5.8ms | 26.8MB | 877ms | 10ms | mono 6.12.0 |
java | 2.java | 972ms | 13ms | 559.4MB | 1137ms | 200ms | openjdk 19 |
java | 2.java | 1160ms | 21ms | 596.0MB | 1243ms | 260ms | openjdk 18.0.1 |
java | 2.java | 2119ms | 23ms | 1395.8MB | 1360ms | 1103ms | openjdk/zgc 18.0.1 |