All mandelbrot problem benchmarks

Current benchmark data was generated on Fri Dec 09 2022, full log can be found HERE

CONTRIBUTIONS are WELCOME!

[x86_64][2 cores] Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz (Model 85)

* -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
rust 9.rs 358ms 0.2ms 4.8MB 350ms 0ms rustc 1.67.0-nightly
zig 1.zig 370ms 0.4ms 4.2MB 360ms 0ms zig 0.11.0-dev.632+d69e97ae1
crystal 1.cr 375ms 0.3ms 9.5MB 360ms 0ms crystal 1.6.2
rust 8.rs 428ms 1.7ms 4.9MB 417ms 0ms rustc 1.65.0
nim 1.nim 582ms 0.8ms 4.8MB 570ms 0ms nim/clang 1.6.10
d 1.d 606ms 1.9ms 6.8MB 593ms 0ms ldc2 1.30.0
csharp 2.cs 715ms 24ms 155.3MB 640ms 40ms dotnet 7.0.100
nim 1.nim 867ms 2.3ms 4.5MB 853ms 0ms nim 1.6.10
wasm 8.rs 1018ms 2.6ms 48.0MB 1033ms 7ms node 16.18.1
wasm 8.rs 1057ms 12ms 19.9MB 1043ms 0ms wasmedgec 0.11.2
odin 1.odin 1375ms 0.5ms 4.5MB 1357ms 0ms odin 2022
wasm 8.rs 1413ms 2.0ms 13.8MB 1400ms 0ms wasmtime 3.0.1
java 1b.java 1507ms 19ms 47.3MB 1593ms 13ms openjdk 20
java 1b.java 1519ms 23ms 48.4MB 1600ms 13ms openjdk 19
java 1b.java 1565ms 17ms 48.7MB 1577ms 73ms openjdk/zgc 19
java 1b.java 1602ms 47ms 107.3MB 1807ms 40ms graal/jvm 17.0.5
java 1a.java 1801ms 3.1ms 50.3MB 1857ms 30ms openjdk 19
java 1a.java 1809ms 22ms 47.5MB 1897ms 17ms openjdk 20
java 1a.java 1862ms 7.6ms 48.8MB 1860ms 70ms openjdk/zgc 19
java 1a.java 1982ms 107ms 109.6MB 2217ms 50ms graal/jvm 17.0.5
java 1.java 2046ms 4.0ms 135.9MB 2123ms 40ms graal/jvm 17.0.5
java 1.java 2056ms 118ms 190.3MB 2087ms 43ms openjdk 19
java 1.java 2144ms 18ms 203.6MB 2157ms 67ms openjdk 20
java 1.java 2533ms 4.6ms 559.1MB 2260ms 387ms openjdk/zgc 19
d 1.d 3163ms 3.2ms 7.7MB 3150ms 0ms dmd 2.101.0
csharp 3.cs 3416ms 3.1ms 111.2MB 3357ms 27ms dotnet 7.0.100
csharp 1.cs 3420ms 1.1ms 108.1MB 3357ms 27ms dotnet 7.0.100
csharp 3.cs 3544ms 6.5ms 15.8MB 3533ms 3ms dotnet/aot 7.0.100
go 1.go 3945ms 2.6ms 7.4MB 3933ms 0ms go 1.19.4
csharp 1.cs timeout 0.0ms 0.0MB 0ms 0ms dotnet/aot 7.0.100
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.25.0
java 2.java timeout 0.0ms 0.0MB 0ms 0ms openjdk 19
java 2.java timeout 0.0ms 0.0MB 0ms 0ms openjdk 20
java 2.java timeout 0.0ms 0.0MB 0ms 0ms openjdk/zgc 19

Input: 1000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 9.rs 17ms 0.1ms 1.0MB 10ms 0ms rustc 1.67.0-nightly
zig 1.zig 18ms 0.2ms 1.0MB 10ms 0ms zig 0.11.0-dev.632+d69e97ae1
rust 8.rs 20ms 0.3ms 1.0MB 10ms 0ms rustc 1.65.0
crystal 1.cr 21ms 0.1ms 7.2MB 10ms 0ms crystal 1.6.2
nim 1.nim 27ms 0.2ms 1.3MB 20ms 0ms nim/clang 1.6.10
d 1.d 28ms 0.1ms 2.9MB 20ms 0ms ldc2 1.30.0
nim 1.nim 38ms 0.7ms 1.1MB 30ms 0ms nim 1.6.10
wasm 8.rs 53ms 1.1ms 15.5MB 40ms 0ms wasmedgec 0.11.2
odin 1.odin 60ms 1.6ms 1.3MB 50ms 0ms odin 2022
wasm 8.rs 66ms 0.9ms 10.9MB 53ms 0ms wasmtime 3.0.1
wasm 8.rs 125ms 1.7ms 44.9MB 143ms 0ms node 16.18.1
d 1.d 133ms 0.2ms 3.4MB 123ms 0ms dmd 2.101.0
csharp 3.cs 156ms 1.8ms 17.1MB 150ms 0ms dotnet/aot 7.0.100
csharp 2.cs 156ms 2.6ms 111.5MB 97ms 33ms dotnet 7.0.100
go 1.go 169ms 3.9ms 2.9MB 157ms 0ms go 1.19.4
java 1a.java 217ms 9.8ms 46.9MB 270ms 17ms openjdk 19
java 1b.java 223ms 5.2ms 42.7MB 277ms 20ms openjdk 20
java 1b.java 223ms 3.9ms 48.0MB 283ms 17ms openjdk 19
csharp 1.cs 231ms 0.4ms 11.2MB 227ms 0ms dotnet/aot 7.0.100
java 1a.java 232ms 11ms 43.9MB 290ms 13ms openjdk 20
csharp 1.cs 234ms 3.9ms 108.3MB 173ms 27ms dotnet 7.0.100
java 1.java 235ms 11ms 98.5MB 267ms 30ms openjdk 19
java 1.java 241ms 4.7ms 96.1MB 290ms 23ms openjdk 20
java 1a.java 241ms 7.6ms 91.6MB 303ms 33ms graal/jvm 17.0.5
csharp 3.cs 246ms 3.8ms 106.6MB 190ms 30ms dotnet 7.0.100
java 1a.java 269ms 3.4ms 46.3MB 260ms 70ms openjdk/zgc 19
java 1b.java 271ms 18ms 46.0MB 293ms 57ms openjdk/zgc 19
java 1.java 289ms 41ms 152.8MB 393ms 30ms graal/jvm 17.0.5
java 1b-m.java 306ms 59ms 99.1MB 440ms 37ms graal/jvm 17.0.5
java 1.java 313ms 7.3ms 113.3MB 313ms 90ms openjdk/zgc 19
go 1.go 328ms 0.4ms 0.0MB 313ms 0ms tinygo 0.25.0
csharp 1.cs 738ms 0.6ms 28.2MB 723ms 0ms mono 6.12.0
java 2.java 810ms 14ms 589.2MB 967ms 147ms openjdk 20
java 2.java 812ms 90ms 660.7MB 927ms 180ms openjdk 19
java 2.java 1517ms 124ms 1132.9MB 1043ms 747ms openjdk/zgc 19