All mandelbrot problem benchmarks

Current benchmark data was generated on Thu Jul 13 2023, full log can be found HERE

CONTRIBUTIONS are WELCOME!

[x86_64][2 cores] Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz (Model 106)

* -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 412ms 1.0ms 4.9MB 400ms 0ms rustc 1.73.0-nightly
zig 1.zig 422ms 0.1ms 4.2MB 410ms 0ms zig 0.11.0-dev.3978+711b4e93e
rust 8.rs 490ms 1.3ms 4.9MB 477ms 0ms rustc 1.70.0
d 1.d 570ms 0.4ms 6.6MB 560ms 0ms ldc2 1.32.2
crystal 1.cr 585ms 11ms 9.8MB 570ms 0ms crystal 1.9.0
nim 1.nim 656ms 0.7ms 4.8MB 647ms 0ms nim/clang 1.6.14
csharp 2.cs 730ms 8.6ms 94.3MB 670ms 30ms dotnet 7.0.306
nim 1.nim 983ms 0.4ms 4.3MB 970ms 0ms nim 1.6.14
wasm 8.rs 1095ms 1.0ms 31.9MB 1077ms 3ms wasmedgec 0.13.1
wasm 8.rs 1250ms 0.2ms 19.3MB 1233ms 0ms wasmtime 10.0.1
wasm 8.rs 1369ms 3.6ms 54.1MB 1350ms 13ms node 18.16.1
java 1b.java 1411ms 4.8ms 47.7MB 1480ms 20ms openjdk 22
java 1b.java 1424ms 14ms 47.3MB 1527ms 13ms openjdk 20
java 1b.java 1458ms 20ms 47.4MB 1507ms 60ms openjdk/zgc 20
java 1b.java 1470ms 5.7ms 108.0MB 1697ms 27ms graal/jvm 17.0.7
java 1a.java 1541ms 3.5ms 47.3MB 1613ms 13ms openjdk 20
java 1a.java 1552ms 5.7ms 48.0MB 1623ms 17ms openjdk 22
java 1a.java 1557ms 2.6ms 99.4MB 1653ms 17ms graal/jvm 17.0.7
java 1a.java 1579ms 7.5ms 48.6MB 1623ms 53ms openjdk/zgc 20
odin 1.odin 1584ms 1.4ms 4.5MB 1570ms 0ms odin 2023
java 1.java 1620ms 3.0ms 205.7MB 1643ms 43ms openjdk 22
java 1.java 2015ms 21ms 163.3MB 2103ms 33ms graal/jvm 17.0.7
java 1.java 2133ms 6.2ms 200.5MB 2180ms 40ms openjdk 20
java 1.java 2521ms 8.8ms 576.8MB 2233ms 397ms openjdk/zgc 20
d 1.d 2563ms 3.9ms 8.0MB 2550ms 0ms dmd 2.104.1
csharp 3.cs 3572ms 81ms 38.6MB 3537ms 3ms dotnet 7.0.306
csharp 1.cs 3945ms 14ms 38.7MB 3907ms 10ms dotnet 7.0.306
go 1.go 4379ms 2.8ms 7.3MB 4363ms 0ms go 1.20.6
csharp 3.cs 4830ms 13ms 19.6MB 4823ms 0ms dotnet/aot 7.0.306
csharp 1.cs timeout 0.0ms 15.4MB 4980ms 3ms dotnet/aot 7.0.306
csharp 1.cs timeout 0.0ms 26.8MB 4977ms 3ms mono 6.12.0
go 1.go timeout 0.0ms 5.4MB 4983ms 0ms tinygo 0.28.1
java 2.java timeout 0.0ms 583.5MB 5140ms 137ms openjdk 20
java 2.java timeout 0.0ms 535.8MB 5163ms 127ms openjdk 22
java 2.java timeout 0.0ms 1758.3MB 4587ms 833ms openjdk/zgc 20

Input: 1000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 9.rs 19ms 0.1ms 1.1MB 10ms 0ms rustc 1.73.0-nightly
zig 1.zig 20ms 0.2ms 0.9MB 10ms 0ms zig 0.11.0-dev.3978+711b4e93e
rust 8.rs 23ms 0.5ms 1.0MB 10ms 0ms rustc 1.70.0
d 1.d 26ms 0.2ms 3.0MB 17ms 0ms ldc2 1.32.2
crystal 1.cr 29ms 0.2ms 6.9MB 20ms 0ms crystal 1.9.0
nim 1.nim 30ms 0.7ms 1.2MB 20ms 0ms nim/clang 1.6.14
nim 1.nim 43ms 0.7ms 1.1MB 30ms 0ms nim 1.6.14
wasm 8.rs 56ms 0.1ms 28.4MB 50ms 0ms wasmedgec 0.13.1
wasm 8.rs 61ms 0.7ms 15.9MB 47ms 0ms wasmtime 10.0.1
odin 1.odin 68ms 0.3ms 1.2MB 60ms 0ms odin 2023
wasm 8.rs 104ms 1.8ms 49.6MB 97ms 3ms node 18.16.1
d 1.d 122ms 24ms 4.4MB 110ms 0ms dmd 2.104.1
csharp 2.cs 128ms 6.6ms 43.0MB 97ms 3ms dotnet 7.0.306
go 1.go 182ms 0.2ms 2.9MB 170ms 0ms go 1.20.6
csharp 3.cs 207ms 1.4ms 12.5MB 200ms 0ms dotnet/aot 7.0.306
java 1a.java 210ms 9.5ms 44.0MB 257ms 20ms openjdk 20
java 1a.java 215ms 2.1ms 44.1MB 270ms 10ms openjdk 22
java 1.java 219ms 11ms 95.5MB 263ms 20ms openjdk 20
java 1b.java 219ms 8.3ms 43.1MB 267ms 20ms openjdk 20
java 1b.java 224ms 5.1ms 43.7MB 297ms 10ms openjdk 22
csharp 1.cs 228ms 1.1ms 35.5MB 187ms 13ms dotnet 7.0.306
csharp 3.cs 230ms 4.3ms 35.9MB 193ms 3ms dotnet 7.0.306
java 1a.java 234ms 13ms 95.4MB 300ms 20ms graal/jvm 17.0.7
java 1.java 241ms 10ms 98.0MB 293ms 23ms openjdk 22
java 1.java 242ms 14ms 101.2MB 313ms 23ms graal/jvm 17.0.7
go 1.go 243ms 0.5ms 0.0MB 230ms 0ms tinygo 0.28.1
java 1b-m.java 250ms 31ms 96.5MB 370ms 27ms graal/jvm 17.0.7
java 1a.java 251ms 2.6ms 45.6MB 260ms 57ms openjdk/zgc 20
java 1b.java 266ms 9.2ms 44.9MB 293ms 53ms openjdk/zgc 20
csharp 1.cs 274ms 1.5ms 11.3MB 267ms 0ms dotnet/aot 7.0.306
java 1.java 292ms 13ms 110.2MB 303ms 77ms openjdk/zgc 20
java 2.java 778ms 33ms 545.6MB 950ms 117ms openjdk 22
java 2.java 788ms 25ms 566.3MB 973ms 120ms openjdk 20
csharp 1.cs 833ms 0.8ms 26.7MB 820ms 0ms mono 6.12.0
java 2.java 1377ms 10ms 1001.3MB 1017ms 643ms openjdk/zgc 20