All nsieve problem benchmarks

Current benchmark data was generated on Mon May 19 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.)

nsieve

Input: 12

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
zig 1.zig 259ms 2.9ms 40.2MB 243ms 0ms zig 0.14.0
nim 1.nim 267ms 0.8ms 41.5MB 253ms 0ms nim 2.2.4
odin 1.odin 273ms 6.3ms 40.6MB 257ms 0ms odin 2024
c 1.c 282ms 11ms 40.9MB 263ms 0ms gcc 15.1.0
v 1.v 297ms 4.2ms 60.6MB 283ms 0ms v/clang+gc 0.4.10
v 1.v 297ms 4.5ms 40.3MB 280ms 0ms v/clang 0.4.10
rust 2.rs 301ms 0.2ms 6.6MB 290ms 0ms rustc 1.87.0
go 1.go 301ms 21ms 39.5MB 287ms 0ms tinygo 0.37.0
c 1.c 303ms 3.8ms 40.8MB 287ms 0ms clang 14.0.0-1ubuntu1.1
go 1.go 307ms 11ms 71.6MB 293ms 0ms go 1.24.3
c 1.c 307ms 13ms 40.3MB 290ms 0ms zigcc 0.14.0
nim 1.nim 314ms 3.5ms 41.8MB 303ms 0ms nim/clang 2.2.4
d 1.d 321ms 12ms 45.7MB 303ms 3ms ldc2 1.40.1
csharp 1.cs 325ms 6.5ms 78.7MB 307ms 3ms dotnet/aot 9.0.300
v 2.v 328ms 0.5ms 6.9MB 320ms 0ms v/clang+gc 0.4.10
zig 2.zig 330ms 0.5ms 6.0MB 320ms 0ms zig 0.14.0
rust 1.rs 331ms 4.3ms 40.9MB 317ms 0ms rustc 1.87.0
v 2.v 332ms 1.3ms 6.1MB 320ms 0ms v/clang 0.4.10
crystal 2.cr 347ms 2.0ms 8.2MB 340ms 0ms crystal 1.16.3
d 1.d 359ms 12ms 79.2MB 347ms 0ms dmd 2.111.0
csharp 1.cs 361ms 8.4ms 96.1MB 333ms 13ms dotnet 9.0.300
wasm 2.rs 368ms 9.3ms 22.8MB 357ms 0ms wasmtime 32.0.0
csharp 2.cs 394ms 2.3ms 17.5MB 377ms 0ms dotnet/aot 9.0.300
csharp 2.cs 399ms 6.4ms 35.4MB 380ms 7ms dotnet 9.0.300
java 1.java 410ms 3.5ms 115.8MB 463ms 27ms openjdk 21
java 1.java 424ms 3.9ms 118.5MB 467ms 27ms openjdk 23
go 2.go 427ms 3.7ms 20.4MB 413ms 0ms tinygo 0.37.0
crystal 1.cr 445ms 17ms 42.9MB 430ms 0ms crystal 1.16.3
codon 1-m.py 455ms 9.2ms 47.7MB 757ms 0ms codon 0.18.2
wasm 1.rs 476ms 1.3ms 56.7MB 460ms 0ms wasmtime 32.0.0
cpp 1.cpp 494ms 10ms 7.3MB 483ms 0ms g++ 11.4.0
cpp 1.cpp 529ms 1.4ms 7.7MB 520ms 0ms clang++ 14.0.0-1ubuntu1.1
csharp 1.cs 560ms 6.0ms 82.0MB 540ms 10ms mono 6.12.0
java 1.java 587ms 6.0ms 112.8MB 493ms 163ms openjdk/zgc 21
java 1-m.java 644ms 25ms 236.7MB 933ms 77ms graal/jvm 17.0.8
odin 2.odin 699ms 33ms 6.5MB 690ms 0ms odin 2024
go 2.go 746ms 1.8ms 21.7MB 733ms 10ms go 1.24.3
java 2.java 782ms 3.1ms 56.9MB 837ms 17ms openjdk 21
java 2.java 786ms 9.6ms 60.5MB 840ms 20ms openjdk 23
java 2.java 847ms 3.9ms 53.2MB 777ms 143ms openjdk/zgc 21
d 2.d 849ms 1.3ms 47.5MB 830ms 10ms ldc2 1.40.1
ocaml 1.ml 940ms 9.1ms 541.2MB 883ms 43ms ocaml 5.3.0
d 2.d 1178ms 13ms 51.8MB 1160ms 10ms dmd 2.111.0
java 2-m.java 1339ms 8.3ms 234.5MB 2410ms 100ms graal/jvm 17.0.8
codon 2.py 1561ms 6.3ms 100.8MB 1870ms 23ms codon 0.18.2
ocaml 2.ml 1904ms 37ms 19.0MB 1893ms 0ms ocaml 5.3.0
csharp 2.cs 1908ms 73ms 29.5MB 1887ms 3ms mono 6.12.0
python 1.py 2512ms 35ms 369.6MB 2440ms 57ms pypy 3.10.16
python 2.py 2965ms 38ms 632.9MB 2797ms 153ms pyston 3.8.12
python 1.py 4719ms 55ms 320.4MB 4660ms 47ms pyston 3.8.12
acton 1.act timeout 0.0ms 560.9MB 6627ms 93ms actonc 0.25.0
python 1.py timeout 0.0ms 321.4MB 4957ms 30ms cpython 3.13.3
python 2.py timeout 0.0ms 633.8MB 4843ms 143ms cpython 3.13.3
python 2.py timeout 0.0ms 959.9MB 4710ms 280ms pypy 3.10.16
ruby 1.rb timeout 0.0ms 325.3MB 4857ms 133ms ruby 3.4.4
ruby 1.rb timeout 0.0ms 327.0MB 4853ms 130ms ruby/yjit 3.4.4
ruby 1.rb timeout 0.0ms 732.0MB 5073ms 150ms truffleruby 24.2.1

Input: 10

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
zig 1.zig 51ms 2.6ms 10.9MB 40ms 0ms zig 0.14.0
nim 1.nim 51ms 1.1ms 11.6MB 40ms 0ms nim 2.2.4
c 1.c 52ms 2.8ms 11.8MB 40ms 0ms gcc 15.1.0
c 1.c 53ms 2.1ms 11.7MB 40ms 0ms clang 14.0.0-1ubuntu1.1
go 1.go 53ms 2.6ms 10.1MB 43ms 0ms tinygo 0.37.0
odin 1.odin 54ms 0.5ms 11.3MB 43ms 0ms odin 2024
c 1.c 58ms 3.4ms 11.0MB 47ms 0ms zigcc 0.14.0
v 1.v 58ms 1.3ms 11.9MB 50ms 0ms v/clang+gc 0.4.10
go 1.go 58ms 1.1ms 21.6MB 50ms 0ms go 1.24.3
v 1.v 58ms 3.1ms 11.0MB 50ms 0ms v/clang 0.4.10
d 1.d 62ms 2.0ms 15.7MB 50ms 0ms ldc2 1.40.1
csharp 1.cs 63ms 0.6ms 24.8MB 47ms 0ms dotnet/aot 9.0.300
nim 1.nim 63ms 1.6ms 11.8MB 53ms 0ms nim/clang 2.2.4
rust 1.rs 67ms 0.1ms 11.6MB 57ms 0ms rustc 1.87.0
d 1.d 75ms 1.6ms 25.5MB 63ms 0ms dmd 2.111.0
rust 2.rs 77ms 2.0ms 2.9MB 70ms 0ms rustc 1.87.0
zig 2.zig 81ms 0.8ms 2.3MB 70ms 0ms zig 0.14.0
v 2.v 82ms 0.8ms 3.1MB 70ms 0ms v/clang+gc 0.4.10
v 2.v 82ms 1.9ms 2.4MB 73ms 0ms v/clang 0.4.10
crystal 2.cr 88ms 2.0ms 4.4MB 80ms 0ms crystal 1.16.3
crystal 1.cr 91ms 3.3ms 13.2MB 83ms 0ms crystal 1.16.3
wasm 1.rs 96ms 3.0ms 27.5MB 83ms 0ms wasmtime 32.0.0
wasm 2.rs 97ms 2.1ms 18.9MB 83ms 0ms wasmtime 32.0.0
csharp 1.cs 99ms 2.3ms 42.3MB 77ms 7ms dotnet 9.0.300
csharp 2.cs 102ms 1.9ms 11.9MB 90ms 0ms dotnet/aot 9.0.300
go 2.go 109ms 1.9ms 4.9MB 100ms 0ms tinygo 0.37.0
cpp 1.cpp 121ms 1.4ms 3.6MB 110ms 0ms g++ 11.4.0
codon 1-m.py 126ms 3.4ms 18.4MB 433ms 0ms codon 0.18.2
csharp 2.cs 129ms 0.7ms 29.9MB 113ms 7ms dotnet 9.0.300
cpp 1.cpp 132ms 0.8ms 4.1MB 120ms 0ms clang++ 14.0.0-1ubuntu1.1
csharp 1.cs 144ms 1.4ms 36.4MB 130ms 3ms mono 6.12.0
java 1.java 155ms 2.3ms 68.1MB 200ms 23ms openjdk 23
java 1.java 158ms 3.5ms 64.7MB 210ms 20ms openjdk 21
ocaml 1.ml 178ms 1.2ms 142.2MB 157ms 10ms ocaml 5.3.0
odin 2.odin 180ms 9.5ms 2.8MB 173ms 0ms odin 2024
go 2.go 181ms 2.1ms 5.8MB 170ms 0ms go 1.24.3
d 2.d 210ms 2.6ms 17.6MB 197ms 0ms ldc2 1.40.1
java 1-m.java 210ms 6.9ms 124.8MB 297ms 47ms graal/jvm 17.0.8
java 2.java 262ms 3.1ms 50.5MB 310ms 23ms openjdk 23
java 2.java 263ms 1.2ms 50.0MB 327ms 20ms openjdk 21
java 1.java 286ms 4.1ms 61.5MB 203ms 150ms openjdk/zgc 21
d 2.d 292ms 1.6ms 19.6MB 277ms 0ms dmd 2.111.0
java 2.java 370ms 2.8ms 47.7MB 303ms 147ms openjdk/zgc 21
codon 2-m.py 398ms 2.8ms 27.2MB 707ms 10ms codon 0.18.2
java 2-m.java 470ms 6.2ms 199.2MB 830ms 63ms graal/jvm 17.0.8
ocaml 2.ml 471ms 3.6ms 9.1MB 460ms 0ms ocaml 5.3.0
csharp 2.cs 494ms 11ms 21.5MB 480ms 0ms mono 6.12.0
python 1.py 526ms 2.9ms 135.2MB 490ms 23ms pypy 3.10.16
python 2.py 713ms 3.4ms 164.2MB 670ms 30ms pyston 3.8.12
python 1.py 1069ms 35ms 86.0MB 1047ms 10ms pyston 3.8.12
python 2.py 1424ms 21ms 165.0MB 1380ms 30ms cpython 3.13.3
python 2.py 1518ms 19ms 290.3MB 1427ms 77ms pypy 3.10.16
ruby 1-m.rb 1691ms 6.2ms 486.6MB 2437ms 163ms truffleruby 24.2.1
acton 1.act 2461ms 15ms 192.4MB 2957ms 57ms actonc 0.25.0
python 1.py 2702ms 14ms 86.9MB 2680ms 10ms cpython 3.13.3
ruby 1.rb 3458ms 150ms 131.6MB 3363ms 80ms ruby/yjit 3.4.4
ruby 1.rb 4471ms 23ms 131.1MB 4383ms 73ms ruby 3.4.4