All mandelbrot problem benchmarks

Current benchmark data was generated on Wed Mar 22 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 415ms 1.0ms 4.9MB 400ms 0ms rustc 1.70.0-nightly
zig 1.zig 428ms 0.8ms 4.3MB 417ms 0ms zig 0.11.0-dev.2227+f9b582950
crystal 1.cr 490ms 0.7ms 9.7MB 473ms 0ms crystal 1.7.3
rust 8.rs 492ms 0.5ms 4.8MB 480ms 0ms rustc 1.68.0
nim 1.nim 657ms 0.6ms 4.7MB 650ms 0ms nim/clang 1.6.12
d 1.d 698ms 0.5ms 7.3MB 687ms 0ms ldc2 1.31.0
csharp 2.cs 729ms 9.0ms 94.6MB 670ms 33ms dotnet 7.0.202
nim 1.nim 985ms 1.7ms 4.5MB 970ms 0ms nim 1.6.12
wasm 8.rs 1096ms 0.6ms 19.8MB 1083ms 0ms wasmedgec 0.11.2
wasm 8.rs 1241ms 0.9ms 15.3MB 1227ms 0ms wasmtime 7.0.0
wasm 8.rs 1371ms 4.1ms 53.7MB 1353ms 7ms node 18.15.0
java 1b.java 1420ms 12ms 49.0MB 1510ms 17ms openjdk 21
java 1b.java 1424ms 3.2ms 50.1MB 1513ms 17ms openjdk 19
java 1b.java 1460ms 6.5ms 47.3MB 1500ms 57ms openjdk/zgc 19
java 1b.java 1471ms 12ms 110.2MB 1693ms 27ms graal/jvm 17.0.6
java 1a.java 1550ms 3.0ms 49.1MB 1643ms 7ms openjdk 21
java 1a.java 1553ms 21ms 48.6MB 1640ms 20ms openjdk 19
java 1a.java 1576ms 3.7ms 100.0MB 1663ms 33ms graal/jvm 17.0.6
odin 1.odin 1582ms 1.3ms 4.5MB 1570ms 0ms odin 2023
java 1a.java 1588ms 6.4ms 49.2MB 1610ms 60ms openjdk/zgc 19
java 1.java 2015ms 11ms 141.0MB 2093ms 47ms graal/jvm 17.0.6
java 1.java 2139ms 13ms 220.5MB 2177ms 60ms openjdk 21
java 1.java 2146ms 7.9ms 194.4MB 2187ms 40ms openjdk 19
d 1.d 2529ms 3.3ms 9.0MB 2517ms 0ms dmd 2.102.2
java 1.java 2532ms 5.3ms 573.9MB 2230ms 403ms openjdk/zgc 19
csharp 3.cs 3637ms 74ms 39.1MB 3573ms 10ms dotnet 7.0.202
csharp 1.cs 4007ms 11ms 34.6MB 3950ms 3ms dotnet 7.0.202
go 1.go 4099ms 2.3ms 7.3MB 4083ms 0ms go 1.20.2
csharp 3.cs 4165ms 27ms 17.6MB 4157ms 0ms dotnet/aot 7.0.202
csharp 1.cs timeout 0.0ms 16.2MB 4993ms 0ms dotnet/aot 7.0.202
csharp 1.cs timeout 0.0ms 26.9MB 4983ms 0ms mono 6.12.0
go 1.go timeout 0.0ms 5.6MB 4990ms 0ms tinygo 0.27.0
java 2.java timeout 0.0ms 504.9MB 5183ms 117ms openjdk 19
java 2.java timeout 0.0ms 508.6MB 5163ms 133ms openjdk 21
java 2.java timeout 0.0ms 1794.1MB 4513ms 900ms openjdk/zgc 19

Input: 1000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 9.rs 20ms 0.1ms 1.0MB 10ms 0ms rustc 1.70.0-nightly
zig 1.zig 20ms 0.2ms 1.0MB 10ms 0ms zig 0.11.0-dev.2227+f9b582950
rust 8.rs 23ms 0.5ms 1.0MB 10ms 0ms rustc 1.68.0
crystal 1.cr 26ms 1.0ms 6.8MB 10ms 0ms crystal 1.7.3
nim 1.nim 30ms 0.6ms 1.3MB 20ms 0ms nim/clang 1.6.12
d 1.d 32ms 0.2ms 3.2MB 20ms 0ms ldc2 1.31.0
nim 1.nim 44ms 0.8ms 1.1MB 37ms 0ms nim 1.6.12
wasm 8.rs 54ms 1.0ms 15.9MB 43ms 0ms wasmedgec 0.11.2
wasm 8.rs 59ms 0.4ms 12.3MB 43ms 0ms wasmtime 7.0.0
odin 1.odin 68ms 0.3ms 1.3MB 60ms 0ms odin 2023
wasm 8.rs 108ms 2.2ms 50.8MB 93ms 7ms node 18.15.0
d 1.d 111ms 3.5ms 4.4MB 100ms 0ms dmd 2.102.2
csharp 2.cs 125ms 10ms 39.0MB 83ms 10ms dotnet 7.0.202
go 1.go 171ms 0.6ms 2.8MB 160ms 0ms go 1.20.2
csharp 3.cs 180ms 1.2ms 12.1MB 173ms 0ms dotnet/aot 7.0.202
java 1a.java 210ms 1.3ms 48.8MB 270ms 10ms openjdk 19
java 1b.java 218ms 11ms 45.8MB 277ms 20ms openjdk 19
java 1b.java 219ms 13ms 44.7MB 293ms 13ms openjdk 21
java 1.java 223ms 5.6ms 96.9MB 267ms 27ms openjdk 21
csharp 1.cs 223ms 2.0ms 16.8MB 220ms 0ms dotnet/aot 7.0.202
csharp 3.cs 231ms 2.6ms 32.0MB 193ms 10ms dotnet 7.0.202
java 1.java 232ms 14ms 96.7MB 273ms 17ms openjdk 19
csharp 1.cs 232ms 5.8ms 35.8MB 193ms 7ms dotnet 7.0.202
java 1a.java 232ms 2.7ms 96.0MB 303ms 27ms graal/jvm 17.0.6
java 1.java 242ms 6.6ms 102.6MB 313ms 30ms graal/jvm 17.0.6
java 1a.java 246ms 32ms 46.7MB 350ms 17ms openjdk 21
java 1b-m.java 251ms 4.8ms 96.2MB 357ms 30ms graal/jvm 17.0.6
go 1.go 252ms 0.3ms 0.0MB 240ms 0ms tinygo 0.27.0
java 1b.java 270ms 15ms 44.2MB 293ms 53ms openjdk/zgc 19
java 1a.java 271ms 21ms 47.2MB 307ms 53ms openjdk/zgc 19
java 1.java 299ms 9.6ms 113.1MB 287ms 97ms openjdk/zgc 19
java 2.java 789ms 31ms 514.7MB 977ms 120ms openjdk 19
java 2.java 800ms 46ms 531.2MB 997ms 120ms openjdk 21
csharp 1.cs 833ms 1.0ms 26.2MB 817ms 3ms mono 6.12.0
java 2.java 1402ms 4.8ms 970.1MB 1057ms 617ms openjdk/zgc 19