All mandelbrot problem benchmarks

Current benchmark data was generated on Fri Aug 01 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 219ms 4.3ms 7.6MB 810ms 10ms clang 14.0.0-1ubuntu1.1
rust 9.rs 246ms 0.5ms 4.8MB 240ms 0ms rustc 1.90.0-nightly
zig 1.zig 248ms 0.3ms 4.1MB 240ms 0ms zig 0.14.1
c 1-mffi.c 264ms 0.9ms 6.6MB 810ms 0ms gcc 15.1.0
odin 1.odin 288ms 3.8ms 4.6MB 280ms 0ms odin 2024
nim 1.nim 288ms 0.3ms 5.9MB 280ms 0ms nim 2.2.4
rust 8.rs 292ms 0.8ms 4.8MB 280ms 0ms rustc 1.88.0
crystal 1.cr 314ms 1.7ms 9.3MB 303ms 0ms crystal 1.17.0
c 1-ffi.c 330ms 2.0ms 6.0MB 320ms 0ms zigcc 0.14.1
c 1-mffi.c 331ms 0.8ms 6.0MB 320ms 0ms zigcc 0.14.1
d 1.d 367ms 0.6ms 7.5MB 357ms 0ms ldc2 1.41.0
csharp 4.cs 368ms 62ms 37.4MB 347ms 10ms dotnet 9.0.303
nim 1.nim 388ms 0.1ms 4.9MB 380ms 0ms nim/clang 2.2.4
c 1-ffi.c 453ms 1.0ms 6.5MB 443ms 0ms clang 14.0.0-1ubuntu1.1
c 1-ffi.c 545ms 3.1ms 6.8MB 537ms 0ms gcc 15.1.0
csharp 2.cs 555ms 59ms 39.9MB 530ms 17ms dotnet 9.0.303
wasm 8.rs 817ms 1.4ms 21.1MB 803ms 0ms wasmtime 35.0.0
java 1b.java 1153ms 11ms 54.1MB 1260ms 20ms openjdk 21
java 1b.java 1157ms 12ms 55.0MB 1263ms 20ms openjdk 23
java 1b.java 1183ms 11ms 109.5MB 1370ms 40ms graal/jvm 17.0.8
java 1.java 1245ms 4.3ms 136.3MB 1357ms 43ms graal/jvm 17.0.8
java 1b.java 1267ms 8.8ms 51.0MB 1250ms 140ms openjdk/zgc 21
java 1a.java 1654ms 2.8ms 54.3MB 1750ms 23ms openjdk 21
java 1a.java 1658ms 10ms 56.0MB 1753ms 20ms openjdk 23
java 1a.java 1687ms 1.2ms 102.5MB 1797ms 43ms graal/jvm 17.0.8
java 1.java 1702ms 12ms 202.6MB 1770ms 47ms openjdk 21
java 1.java 1706ms 3.4ms 317.9MB 1760ms 57ms openjdk 23
java 1a.java 1782ms 6.3ms 51.8MB 1760ms 140ms openjdk/zgc 21
csharp 1.cs 2032ms 7.1ms 36.4MB 2013ms 7ms dotnet 9.0.303
d 1.d 2107ms 12ms 9.4MB 2097ms 0ms dmd 2.111.0
csharp 3.cs 2350ms 12ms 16.3MB 2337ms 0ms dotnet/aot 9.0.303
java 1.java 2356ms 2.1ms 854.4MB 1810ms 653ms openjdk/zgc 21
csharp 3.cs 2444ms 2.0ms 36.8MB 2413ms 10ms dotnet 9.0.303
go 1.go 2666ms 9.4ms 7.7MB 2660ms 0ms go 1.24.5
go 1.go 3575ms 6.5ms 3.3MB 3563ms 0ms tinygo 0.38.0
csharp 1.cs 3888ms 10ms 16.2MB 3870ms 0ms dotnet/aot 9.0.303
csharp 1.cs timeout 0.0ms 24.1MB 4983ms 0ms mono 6.12.0
java 2.java timeout 0.0ms 644.5MB 5340ms 123ms openjdk 21
java 2.java timeout 0.0ms 857.3MB 5283ms 127ms openjdk 23
java 2.java timeout 0.0ms 3246.1MB 3480ms 1897ms openjdk/zgc 21

Input: 1000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
zig 1.zig 12ms 0.1ms 1.1MB 0ms 0ms zig 0.14.1
rust 9.rs 13ms 0.4ms 1.9MB 10ms 0ms rustc 1.90.0-nightly
odin 1.odin 14ms 0.3ms 1.6MB 10ms 0ms odin 2024
rust 8.rs 14ms 0.1ms 1.9MB 10ms 0ms rustc 1.88.0
nim 1.nim 15ms 0.2ms 2.9MB 10ms 0ms nim 2.2.4
c 1-mffi.c 15ms 1.2ms 4.8MB 30ms 0ms clang 14.0.0-1ubuntu1.1
c 1-ffi.c 16ms 0.3ms 3.0MB 10ms 0ms zigcc 0.14.1
c 1-mffi.c 16ms 0.4ms 3.0MB 10ms 0ms zigcc 0.14.1
c 1-mffi.c 16ms 1.2ms 3.8MB 40ms 0ms gcc 15.1.0
crystal 1.cr 17ms 0.1ms 5.8MB 10ms 0ms crystal 1.17.0
d 1.d 17ms 0.1ms 3.0MB 10ms 0ms ldc2 1.41.0
nim 1.nim 19ms 0.6ms 1.9MB 10ms 0ms nim/clang 2.2.4
c 1-ffi.c 21ms 0.2ms 3.6MB 10ms 0ms clang 14.0.0-1ubuntu1.1
c 1-ffi.c 26ms 1.1ms 3.8MB 20ms 0ms gcc 15.1.0
wasm 8.rs 42ms 1.1ms 18.1MB 30ms 0ms wasmtime 35.0.0
csharp 4.cs 80ms 2.1ms 34.5MB 57ms 10ms dotnet 9.0.303
d 1.d 91ms 2.3ms 4.6MB 83ms 0ms dmd 2.111.0
csharp 3.cs 108ms 2.0ms 13.3MB 100ms 0ms dotnet/aot 9.0.303
go 1.go 113ms 1.1ms 3.6MB 107ms 0ms go 1.24.5
csharp 2.cs 117ms 3.8ms 37.1MB 93ms 10ms dotnet 9.0.303
csharp 1.cs 139ms 6.8ms 33.8MB 120ms 7ms dotnet 9.0.303
go 1.go 152ms 3.1ms 0.4MB 147ms 0ms tinygo 0.38.0
csharp 3.cs 165ms 4.4ms 33.9MB 140ms 10ms dotnet 9.0.303
csharp 1.cs 174ms 3.7ms 13.0MB 160ms 0ms dotnet/aot 9.0.303
java 1b-m.java 184ms 13ms 49.7MB 297ms 20ms openjdk 21
java 1b-m.java 184ms 12ms 50.6MB 283ms 20ms openjdk 23
java 1a-m.java 191ms 2.5ms 52.5MB 290ms 23ms openjdk 23
java 1-m.java 191ms 1.9ms 81.8MB 263ms 33ms openjdk 21
java 1-m.java 193ms 4.0ms 87.2MB 270ms 30ms openjdk 23
java 1a-m.java 194ms 8.6ms 50.1MB 297ms 23ms openjdk 21
java 1-m.java 195ms 8.1ms 113.2MB 303ms 40ms graal/jvm 17.0.8
java 1a-m.java 208ms 3.1ms 98.6MB 310ms 37ms graal/jvm 17.0.8
java 1b-m.java 250ms 12ms 101.3MB 427ms 43ms graal/jvm 17.0.8
java 1b.java 308ms 5.9ms 47.9MB 297ms 137ms openjdk/zgc 21
java 1a.java 314ms 9.4ms 49.0MB 293ms 137ms openjdk/zgc 21
java 1.java 327ms 6.4ms 114.5MB 263ms 160ms openjdk/zgc 21
java 2-m.java 558ms 9.6ms 613.1MB 853ms 87ms openjdk 21
java 2-m.java 567ms 2.5ms 749.4MB 837ms 107ms openjdk 23
csharp 1.cs 567ms 3.0ms 23.3MB 553ms 0ms mono 6.12.0
java 2.java 1582ms 6.0ms 1355.1MB 833ms 1047ms openjdk/zgc 21