All mandelbrot problem benchmarks

Current benchmark data was generated on Sun Jul 13 2025, 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
c 1-mffi.c 223ms 10ms 7.6MB 830ms 13ms clang 14.0.0-1ubuntu1.1
zig 1.zig 247ms 0.5ms 4.1MB 240ms 0ms zig 0.14.1
rust 9.rs 256ms 15ms 4.8MB 250ms 0ms rustc 1.90.0-nightly
c 1-mffi.c 266ms 5.3ms 6.5MB 813ms 0ms gcc 15.1.0
odin 1.odin 289ms 4.5ms 4.6MB 280ms 0ms odin 2024
rust 8.rs 293ms 1.0ms 4.8MB 283ms 0ms rustc 1.88.0
crystal 1.cr 316ms 2.0ms 9.3MB 303ms 0ms crystal 1.16.3
c 1-ffi.c 330ms 1.2ms 6.0MB 320ms 0ms zigcc 0.14.1
c 1-mffi.c 331ms 2.9ms 6.0MB 320ms 0ms zigcc 0.14.1
csharp 4.cs 343ms 11ms 37.3MB 320ms 10ms dotnet 9.0.302
d 1.d 367ms 1.1ms 6.5MB 353ms 0ms ldc2 1.41.0
nim 1.nim 387ms 0.9ms 4.8MB 380ms 0ms nim/clang 2.2.4
c 1-ffi.c 453ms 1.4ms 6.7MB 443ms 0ms clang 14.0.0-1ubuntu1.1
csharp 2.cs 518ms 24ms 40.0MB 493ms 17ms dotnet 9.0.302
c 1-ffi.c 544ms 3.5ms 6.6MB 533ms 0ms gcc 15.1.0
nim 1.nim 576ms 1.6ms 4.5MB 567ms 0ms nim 2.2.4
wasm 8.rs 827ms 0.7ms 21.3MB 810ms 0ms wasmtime 34.0.1
java 1b.java 1148ms 3.6ms 54.4MB 1243ms 23ms openjdk 21
java 1b.java 1151ms 11ms 55.3MB 1253ms 23ms openjdk 23
java 1b.java 1176ms 8.9ms 104.9MB 1347ms 40ms graal/jvm 17.0.8
java 1.java 1253ms 4.6ms 134.0MB 1370ms 43ms graal/jvm 17.0.8
java 1b.java 1270ms 3.9ms 51.2MB 1247ms 143ms openjdk/zgc 21
java 1a.java 1659ms 4.1ms 56.1MB 1757ms 23ms openjdk 23
java 1a.java 1664ms 3.0ms 54.6MB 1767ms 23ms openjdk 21
java 1a.java 1682ms 5.1ms 102.5MB 1793ms 40ms graal/jvm 17.0.8
java 1.java 1699ms 4.8ms 202.4MB 1773ms 37ms openjdk 21
java 1.java 1719ms 5.3ms 339.5MB 1780ms 57ms openjdk 23
java 1a.java 1779ms 9.0ms 51.9MB 1757ms 140ms openjdk/zgc 21
csharp 1.cs 2040ms 17ms 36.7MB 2020ms 10ms dotnet 9.0.302
d 1.d 2143ms 64ms 9.4MB 2130ms 0ms dmd 2.111.0
csharp 3.cs 2349ms 7.9ms 16.4MB 2337ms 0ms dotnet/aot 9.0.302
java 1.java 2364ms 7.9ms 840.5MB 1793ms 677ms openjdk/zgc 21
csharp 3.cs 2461ms 15ms 36.8MB 2437ms 7ms dotnet 9.0.302
go 1.go 2664ms 11ms 7.7MB 2657ms 0ms go 1.24.5
go 1.go 3575ms 20ms 3.3MB 3567ms 0ms tinygo 0.38.0
csharp 1.cs 3976ms 72ms 16.4MB 3963ms 0ms dotnet/aot 9.0.302
csharp 1.cs timeout 0.0ms 24.1MB 4983ms 0ms mono 6.12.0
java 2.java timeout 0.0ms 667.9MB 5287ms 113ms openjdk 21
java 2.java timeout 0.0ms 832.8MB 5270ms 133ms openjdk 23
java 2.java timeout 0.0ms 3268.7MB 3443ms 1920ms openjdk/zgc 21

Input: 1000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
zig 1.zig 12ms 0.2ms 1.1MB 10ms 0ms zig 0.14.1
rust 9.rs 13ms 0.6ms 2.0MB 10ms 0ms rustc 1.90.0-nightly
odin 1.odin 14ms 0.1ms 1.6MB 10ms 0ms odin 2024
rust 8.rs 15ms 0.3ms 1.8MB 10ms 0ms rustc 1.88.0
c 1-mffi.c 16ms 0.5ms 4.5MB 30ms 0ms clang 14.0.0-1ubuntu1.1
c 1-ffi.c 16ms 0.1ms 3.0MB 10ms 0ms zigcc 0.14.1
c 1-mffi.c 16ms 0.4ms 3.0MB 10ms 0ms zigcc 0.14.1
crystal 1.cr 17ms 0.1ms 5.8MB 10ms 0ms crystal 1.16.3
d 1.d 18ms 0.3ms 3.0MB 10ms 0ms ldc2 1.41.0
c 1-mffi.c 19ms 2.4ms 3.6MB 47ms 0ms gcc 15.1.0
nim 1.nim 19ms 0.4ms 1.9MB 10ms 0ms nim/clang 2.2.4
c 1-ffi.c 22ms 0.6ms 3.5MB 10ms 0ms clang 14.0.0-1ubuntu1.1
c 1-ffi.c 26ms 0.6ms 3.8MB 20ms 0ms gcc 15.1.0
nim 1.nim 27ms 0.2ms 1.6MB 20ms 0ms nim 2.2.4
wasm 8.rs 42ms 0.5ms 18.4MB 30ms 0ms wasmtime 34.0.1
csharp 4.cs 80ms 3.6ms 34.5MB 60ms 10ms dotnet 9.0.302
d 1.d 92ms 2.4ms 4.6MB 87ms 0ms dmd 2.111.0
csharp 3.cs 106ms 0.9ms 13.5MB 93ms 0ms dotnet/aot 9.0.302
go 1.go 117ms 2.8ms 3.6MB 110ms 0ms go 1.24.5
csharp 2.cs 125ms 2.8ms 37.3MB 97ms 10ms dotnet 9.0.302
csharp 1.cs 139ms 3.5ms 33.8MB 120ms 10ms dotnet 9.0.302
go 1.go 151ms 2.9ms 0.4MB 143ms 0ms tinygo 0.38.0
csharp 3.cs 168ms 5.2ms 34.0MB 147ms 7ms dotnet 9.0.302
csharp 1.cs 177ms 7.1ms 13.5MB 160ms 0ms dotnet/aot 9.0.302
java 1b-m.java 182ms 16ms 51.0MB 290ms 20ms openjdk 23
java 1b-m.java 184ms 23ms 49.7MB 300ms 20ms openjdk 21
java 1-m.java 189ms 0.7ms 81.7MB 263ms 30ms openjdk 21
java 1-m.java 190ms 1.4ms 87.0MB 263ms 27ms openjdk 23
java 1a-m.java 190ms 0.9ms 50.8MB 293ms 17ms openjdk 21
java 1a-m.java 192ms 1.9ms 52.4MB 297ms 23ms openjdk 23
java 1-m.java 198ms 1.9ms 112.3MB 303ms 43ms graal/jvm 17.0.8
java 1a-m.java 205ms 5.5ms 98.8MB 313ms 43ms graal/jvm 17.0.8
java 1b-m.java 220ms 15ms 102.1MB 373ms 37ms graal/jvm 17.0.8
java 1a.java 311ms 2.1ms 49.0MB 293ms 137ms openjdk/zgc 21
java 1b.java 323ms 14ms 47.7MB 327ms 137ms openjdk/zgc 21
java 1.java 329ms 3.3ms 114.4MB 267ms 157ms openjdk/zgc 21
java 2-m.java 565ms 6.3ms 660.9MB 850ms 93ms openjdk 21
java 2-m.java 567ms 4.7ms 757.4MB 843ms 110ms openjdk 23
csharp 1.cs 568ms 2.5ms 23.5MB 553ms 3ms mono 6.12.0
java 2.java 1585ms 8.4ms 1334.6MB 847ms 1037ms openjdk/zgc 21