All mandelbrot problem benchmarks

Current benchmark data was generated on Mon Apr 14 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 230ms 12ms 7.4MB 857ms 17ms clang 14.0.0-1ubuntu1.1
zig 1.zig 247ms 0.1ms 4.0MB 240ms 0ms zig 0.14.0
c 1-mffi.c 265ms 1.9ms 6.7MB 807ms 0ms gcc 14.2.0
rust 9.rs 275ms 0.4ms 4.8MB 267ms 0ms rustc 1.88.0-nightly
odin 1.odin 291ms 2.9ms 4.5MB 280ms 0ms odin 2024
rust 8.rs 293ms 2.0ms 4.8MB 283ms 0ms rustc 1.86.0
d 1.d 295ms 0.4ms 7.1MB 280ms 0ms ldc2 1.40.1
crystal 1.cr 313ms 1.1ms 9.1MB 300ms 0ms crystal 1.16.0
c 1-ffi.c 330ms 1.2ms 5.9MB 320ms 0ms zigcc 0.14.0
c 1-mffi.c 330ms 0.9ms 5.9MB 320ms 0ms zigcc 0.14.0
csharp 4.cs 333ms 3.1ms 37.3MB 313ms 10ms dotnet 9.0.203
nim 1.nim 386ms 0.2ms 4.7MB 380ms 0ms nim/clang 2.2.2
c 1-ffi.c 452ms 1.5ms 6.4MB 440ms 0ms clang 14.0.0-1ubuntu1.1
csharp 2.cs 520ms 21ms 39.7MB 497ms 10ms dotnet 9.0.203
c 1-ffi.c 542ms 1.6ms 6.7MB 530ms 0ms gcc 14.2.0
nim 1.nim 576ms 0.7ms 4.4MB 570ms 0ms nim 2.2.2
wasm 8.rs 823ms 3.1ms 20.2MB 810ms 0ms wasmtime 31.0.0
java 1b.java 1159ms 21ms 54.2MB 1270ms 23ms openjdk 21
java 1b.java 1159ms 17ms 55.4MB 1260ms 27ms openjdk 23
java 1b.java 1192ms 4.2ms 109.8MB 1433ms 40ms graal/jvm 17.0.8
java 1.java 1254ms 4.6ms 136.4MB 1363ms 50ms graal/jvm 17.0.8
java 1b.java 1272ms 4.5ms 51.2MB 1250ms 143ms openjdk/zgc 21
java 1a.java 1655ms 4.3ms 55.0MB 1750ms 23ms openjdk 21
java 1a.java 1666ms 2.2ms 56.4MB 1763ms 33ms openjdk 23
java 1a.java 1688ms 10ms 102.4MB 1807ms 43ms graal/jvm 17.0.8
java 1.java 1699ms 3.2ms 254.4MB 1770ms 43ms openjdk 21
java 1.java 1720ms 3.4ms 336.0MB 1787ms 50ms openjdk 23
java 1a.java 1779ms 9.0ms 51.4MB 1753ms 150ms openjdk/zgc 21
csharp 1.cs 2044ms 11ms 36.2MB 2020ms 10ms dotnet 9.0.203
d 1.d 2305ms 325ms 9.0MB 2293ms 0ms dmd 2.111.0
java 1.java 2354ms 1.7ms 859.1MB 1800ms 657ms openjdk/zgc 21
csharp 3.cs 2457ms 8.9ms 36.5MB 2437ms 10ms dotnet 9.0.203
csharp 3.cs 2526ms 11ms 16.3MB 2510ms 0ms dotnet/aot 9.0.203
go 1.go 2665ms 11ms 7.7MB 2660ms 0ms go 1.24.2
csharp 1.cs 3567ms 3.4ms 16.2MB 3550ms 0ms dotnet/aot 9.0.203
go 1.go 4081ms 15ms 3.4MB 4070ms 0ms tinygo 0.37.0
csharp 1.cs timeout 0.0ms 23.2MB 4987ms 0ms mono 6.12.0
java 2.java timeout 0.0ms 744.5MB 5260ms 140ms openjdk 21
java 2.java timeout 0.0ms 818.4MB 5390ms 137ms openjdk 23
java 2.java timeout 0.0ms 3364.6MB 3493ms 1890ms 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.0
rust 9.rs 13ms 0.5ms 1.9MB 10ms 0ms rustc 1.88.0-nightly
rust 8.rs 14ms 0.2ms 1.9MB 10ms 0ms rustc 1.86.0
odin 1.odin 15ms 0.1ms 1.6MB 10ms 0ms odin 2024
d 1.d 15ms 0.2ms 3.0MB 10ms 0ms ldc2 1.40.1
c 1-mffi.c 15ms 0.5ms 4.8MB 30ms 0ms clang 14.0.0-1ubuntu1.1
c 1-ffi.c 16ms 0.1ms 3.0MB 10ms 0ms zigcc 0.14.0
c 1-mffi.c 16ms 0.1ms 3.0MB 10ms 0ms zigcc 0.14.0
c 1-mffi.c 17ms 1.6ms 3.6MB 43ms 0ms gcc 14.2.0
crystal 1.cr 17ms 0.4ms 6.3MB 10ms 0ms crystal 1.16.0
nim 1.nim 18ms 0.2ms 1.9MB 10ms 0ms nim/clang 2.2.2
c 1-ffi.c 22ms 0.3ms 3.6MB 10ms 0ms clang 14.0.0-1ubuntu1.1
c 1-ffi.c 26ms 0.9ms 3.6MB 20ms 0ms gcc 14.2.0
nim 1.nim 26ms 0.9ms 1.6MB 20ms 0ms nim 2.2.2
wasm 8.rs 43ms 0.6ms 17.4MB 30ms 0ms wasmtime 31.0.0
csharp 4.cs 78ms 1.9ms 34.4MB 57ms 10ms dotnet 9.0.203
d 1.d 102ms 16ms 4.5MB 93ms 0ms dmd 2.111.0
csharp 2.cs 111ms 1.9ms 36.9MB 90ms 10ms dotnet 9.0.203
go 1.go 114ms 1.2ms 3.7MB 110ms 0ms go 1.24.2
csharp 3.cs 117ms 1.5ms 13.0MB 103ms 0ms dotnet/aot 9.0.203
csharp 1.cs 139ms 3.7ms 33.4MB 117ms 10ms dotnet 9.0.203
csharp 1.cs 159ms 2.4ms 13.6MB 143ms 0ms dotnet/aot 9.0.203
csharp 3.cs 161ms 0.4ms 33.9MB 140ms 10ms dotnet 9.0.203
go 1.go 173ms 2.8ms 0.5MB 167ms 0ms tinygo 0.37.0
java 1b-m.java 179ms 8.2ms 51.3MB 267ms 23ms openjdk 23
java 1-m.java 192ms 1.2ms 81.6MB 270ms 27ms openjdk 21
java 1a-m.java 194ms 6.6ms 51.0MB 300ms 20ms openjdk 21
java 1b-m.java 198ms 17ms 49.5MB 313ms 23ms openjdk 21
java 1.java 201ms 9.8ms 87.3MB 270ms 30ms openjdk 23
java 1a-m.java 202ms 6.2ms 52.6MB 310ms 23ms openjdk 23
java 1-m.java 207ms 12ms 114.4MB 320ms 43ms graal/jvm 17.0.8
java 1a-m.java 207ms 6.5ms 98.8MB 313ms 40ms graal/jvm 17.0.8
java 1b-m.java 244ms 39ms 103.4MB 420ms 43ms graal/jvm 17.0.8
java 1a.java 315ms 5.7ms 47.9MB 297ms 143ms openjdk/zgc 21
java 1b.java 320ms 12ms 48.0MB 320ms 140ms openjdk/zgc 21
java 1.java 337ms 2.0ms 114.6MB 270ms 170ms openjdk/zgc 21
java 2-m.java 551ms 14ms 629.1MB 833ms 87ms openjdk 21
csharp 1.cs 571ms 9.1ms 23.3MB 557ms 0ms mono 6.12.0
java 2-m.java 605ms 19ms 809.9MB 897ms 120ms openjdk 23
java 2.java 1587ms 1.4ms 1374.8MB 860ms 1043ms openjdk/zgc 21