All mandelbrot problem benchmarks

Current benchmark data was generated on Thu Feb 01 2024, full log can be found HERE

CONTRIBUTIONS are WELCOME!

[x86_64][4 cores] AMD EPYC 7763 64-Core Processor (Model 1)

* -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.)

mandelbrot

Input: 5000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
zig 1.zig 247ms 1.0ms 4.2MB 237ms 0ms zig 0.12.0-dev.2341+92211135f
rust 9.rs 247ms 1.9ms 4.9MB 237ms 0ms rustc 1.77.0-nightly
rust 8.rs 296ms 1.9ms 4.9MB 287ms 0ms rustc 1.75.0
d 1.d 322ms 1.3ms 7.4MB 310ms 0ms ldc2 1.36.0
crystal 1.cr 373ms 1.3ms 9.5MB 360ms 0ms crystal 1.11.2
nim 1.nim 389ms 2.4ms 4.8MB 377ms 0ms nim/clang 2.0.2
nim 1.nim 577ms 3.8ms 4.5MB 563ms 0ms nim 2.0.2
csharp 2.cs 666ms 69ms 209.7MB 540ms 90ms dotnet 8.0.101
wasm 8.rs 864ms 2.7ms 21.8MB 850ms 0ms wasmtime 17.0.0
wasm 8.rs 1081ms 21ms 54.1MB 1067ms 13ms node 18.19.0
java 1b.java 1159ms 6.4ms 54.5MB 1263ms 30ms openjdk 21
java 1b.java 1160ms 10ms 54.8MB 1273ms 23ms openjdk 23
java 1b.java 1196ms 32ms 107.7MB 1377ms 40ms graal/jvm 17.0.8
java 1.java 1255ms 1.2ms 131.4MB 1353ms 53ms graal/jvm 17.0.8
java 1b.java 1269ms 25ms 52.8MB 1257ms 137ms openjdk/zgc 21
odin 1.odin 1571ms 1.6ms 4.6MB 1560ms 0ms odin 2024
java 1a.java 1650ms 5.1ms 54.9MB 1750ms 20ms openjdk 21
java 1a.java 1665ms 3.7ms 54.7MB 1760ms 17ms openjdk 23
java 1a.java 1686ms 18ms 103.8MB 1813ms 33ms graal/jvm 17.0.8
java 1.java 1695ms 6.4ms 202.3MB 1747ms 60ms openjdk 23
java 1.java 1697ms 4.4ms 258.0MB 1760ms 47ms openjdk 21
java 1a.java 1768ms 4.0ms 51.7MB 1740ms 143ms openjdk/zgc 21
csharp 1.cs 2059ms 1.7ms 42.1MB 2023ms 10ms dotnet 8.0.101
d 1.d 2117ms 11ms 9.0MB 2103ms 0ms dmd 2.106.1
java 1.java 2356ms 6.1ms 864.1MB 1797ms 667ms openjdk/zgc 21
csharp 3.cs 2491ms 24ms 42.5MB 2443ms 20ms dotnet 8.0.101
csharp 3.cs 2491ms 7.0ms 22.6MB 2487ms 0ms dotnet/aot 8.0.101
go 1.go 3215ms 5.5ms 7.3MB 3203ms 3ms go 1.21.6
csharp 1.cs 3587ms 56ms 22.7MB 3583ms 0ms dotnet/aot 8.0.101
go 1.go 4022ms 4.0ms 5.8MB 4013ms 0ms tinygo 0.30.0
csharp 1.cs timeout 0.0ms 25.1MB 4980ms 3ms mono 6.12.0
java 2.java timeout 0.0ms 662.0MB 5350ms 123ms openjdk 21
java 2.java timeout 0.0ms 718.8MB 5263ms 137ms openjdk 23
java 2.java timeout 0.0ms 3397.0MB 3463ms 1890ms openjdk/zgc 21

Input: 1000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 9.rs 12ms 0.1ms 2.0MB 10ms 0ms rustc 1.77.0-nightly
zig 1.zig 13ms 2.0ms 1.3MB 0ms 0ms zig 0.12.0-dev.2341+92211135f
rust 8.rs 15ms 0.3ms 2.0MB 10ms 0ms rustc 1.75.0
d 1.d 16ms 0.3ms 3.0MB 10ms 0ms ldc2 1.36.0
nim 1.nim 19ms 0.8ms 1.9MB 10ms 0ms nim/clang 2.0.2
crystal 1.cr 20ms 0.3ms 6.0MB 10ms 0ms crystal 1.11.2
nim 1.nim 28ms 0.5ms 1.6MB 20ms 0ms nim 2.0.2
wasm 8.rs 44ms 0.3ms 18.9MB 37ms 3ms wasmtime 17.0.0
odin 1.odin 68ms 0.5ms 1.8MB 60ms 0ms odin 2024
wasm 8.rs 85ms 3.1ms 51.0MB 80ms 3ms node 18.19.0
d 1.d 97ms 11ms 4.4MB 87ms 0ms dmd 2.106.1
csharp 3.cs 116ms 1.6ms 19.4MB 110ms 0ms dotnet/aot 8.0.101
csharp 2.cs 138ms 11ms 46.2MB 103ms 7ms dotnet 8.0.101
go 1.go 138ms 2.8ms 3.3MB 127ms 0ms go 1.21.6
csharp 1.cs 160ms 4.9ms 39.4MB 127ms 3ms dotnet 8.0.101
csharp 1.cs 162ms 2.6ms 19.7MB 157ms 3ms dotnet/aot 8.0.101
go 1.go 168ms 2.2ms 0.3MB 160ms 0ms tinygo 0.30.0
java 1b-m.java 177ms 1.0ms 49.4MB 273ms 17ms openjdk 21
java 1b-m.java 182ms 8.4ms 49.7MB 280ms 23ms openjdk 23
java 1a-m.java 188ms 3.7ms 50.9MB 287ms 23ms openjdk 21
java 1-m.java 190ms 3.8ms 81.4MB 267ms 27ms openjdk 21
java 1a-m.java 194ms 8.4ms 49.9MB 270ms 30ms openjdk 23
java 1-m.java 195ms 5.2ms 111.3MB 287ms 50ms graal/jvm 17.0.8
java 1-m.java 198ms 3.6ms 77.5MB 280ms 27ms openjdk 23
csharp 3.cs 218ms 31ms 39.6MB 177ms 13ms dotnet 8.0.101
java 1a-m.java 220ms 15ms 103.9MB 330ms 40ms graal/jvm 17.0.8
java 1b-m.java 240ms 24ms 105.9MB 393ms 50ms graal/jvm 17.0.8
java 1b.java 309ms 29ms 47.6MB 307ms 137ms openjdk/zgc 21
java 1a.java 310ms 4.8ms 51.0MB 290ms 137ms openjdk/zgc 21
java 1.java 337ms 2.2ms 114.3MB 263ms 170ms openjdk/zgc 21
java 2-m.java 543ms 4.9ms 575.4MB 813ms 90ms openjdk 23
java 2-m.java 552ms 12ms 661.2MB 837ms 87ms openjdk 21
csharp 1.cs 569ms 2.0ms 26.0MB 553ms 3ms mono 6.12.0
java 2.java 1585ms 4.1ms 1394.5MB 830ms 1050ms openjdk/zgc 21