All nsieve problem benchmarks

Current benchmark data was generated on Tue Mar 25 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 283ms 4.4ms 40.1MB 270ms 0ms zig 0.14.0
c 1.c 292ms 7.4ms 41.0MB 277ms 0ms gcc 14.2.0
go 1.go 298ms 11ms 39.8MB 287ms 0ms tinygo 0.37.0
crystal 2.cr 301ms 3.6ms 8.1MB 290ms 0ms crystal 1.15.1
odin 1.odin 304ms 6.4ms 40.5MB 283ms 3ms odin 2024
rust 2.rs 317ms 3.9ms 6.7MB 307ms 0ms rustc 1.85.1
go 1.go 319ms 10ms 71.7MB 300ms 3ms go 1.24.1
nim 1.nim 320ms 5.6ms 41.8MB 307ms 0ms nim/clang 2.2.2
rust 1.rs 323ms 1.8ms 40.9MB 303ms 0ms rustc 1.85.1
c 1.c 327ms 8.1ms 40.2MB 310ms 0ms zigcc 0.14.0
d 1.d 330ms 2.6ms 43.1MB 317ms 3ms ldc2 1.40.1
nim 1.nim 330ms 8.4ms 41.5MB 317ms 0ms nim 2.2.2
zig 2.zig 331ms 3.8ms 6.0MB 320ms 0ms zig 0.14.0
v 1.v 332ms 8.5ms 41.1MB 317ms 0ms v/clang+gc 0.4.10
v 2.v 334ms 2.0ms 6.9MB 323ms 0ms v/clang+gc 0.4.10
v 2.v 334ms 5.6ms 6.1MB 323ms 0ms v/clang 0.4.10
c 1.c 337ms 20ms 40.8MB 317ms 0ms clang 14.0.0-1ubuntu1.1
csharp 1.cs 350ms 3.6ms 78.7MB 327ms 10ms dotnet/aot 9.0.202
d 1.d 369ms 6.5ms 77.3MB 353ms 7ms dmd 2.110.0
csharp 1.cs 399ms 20ms 96.2MB 373ms 17ms dotnet 9.0.202
wasm 2.rs 400ms 1.6ms 22.0MB 387ms 0ms wasmtime 31.0.0
v 1.v 400ms 3.8ms 40.2MB 380ms 0ms v/clang 0.4.10
csharp 2.cs 401ms 3.8ms 35.7MB 380ms 10ms dotnet 9.0.202
java 1.java 414ms 8.0ms 115.1MB 463ms 23ms openjdk 21
java 1.java 417ms 11ms 118.0MB 453ms 27ms openjdk 23
csharp 2.cs 425ms 3.0ms 17.4MB 413ms 0ms dotnet/aot 9.0.202
go 2.go 429ms 0.7ms 20.3MB 420ms 0ms tinygo 0.37.0
crystal 1.cr 440ms 6.5ms 42.3MB 430ms 0ms crystal 1.15.1
codon 1-m.py 461ms 8.3ms 47.7MB 763ms 0ms codon 0.18.2
cpp 1.cpp 485ms 2.1ms 7.3MB 477ms 0ms g++ 11.4.0
wasm 1.rs 520ms 6.4ms 56.1MB 507ms 3ms wasmtime 31.0.0
cpp 1.cpp 531ms 3.5ms 7.8MB 523ms 0ms clang++ 14.0.0-1ubuntu1.1
csharp 1.cs 564ms 2.7ms 83.9MB 543ms 10ms mono 6.12.0
java 1.java 598ms 4.7ms 112.6MB 497ms 167ms openjdk/zgc 21
java 1-m.java 645ms 4.3ms 256.4MB 920ms 83ms graal/jvm 17.0.8
odin 2.odin 699ms 41ms 6.5MB 690ms 0ms odin 2024
go 2.go 746ms 4.0ms 21.5MB 733ms 3ms go 1.24.1
java 2.java 783ms 3.4ms 57.0MB 837ms 23ms openjdk 21
java 2.java 785ms 6.3ms 60.3MB 833ms 23ms openjdk 23
d 2.d 843ms 1.5ms 46.9MB 823ms 0ms ldc2 1.40.1
java 2.java 856ms 3.3ms 53.4MB 780ms 150ms openjdk/zgc 21
ocaml 1.ml 1019ms 4.4ms 544.4MB 960ms 43ms ocaml 5.3.0
d 2.d 1168ms 2.1ms 48.7MB 1150ms 10ms dmd 2.110.0
java 2-m.java 1326ms 70ms 214.5MB 2320ms 103ms graal/jvm 17.0.8
codon 2.py 1572ms 19ms 100.8MB 1877ms 27ms codon 0.18.2
csharp 2.cs 1867ms 2.9ms 29.4MB 1850ms 0ms mono 6.12.0
ocaml 2.ml 1896ms 11ms 17.2MB 1883ms 0ms ocaml 5.3.0
python 1.py 2644ms 5.0ms 369.5MB 2577ms 57ms pypy 3.10.16
python 2.py 3165ms 30ms 633.0MB 2990ms 157ms pyston 3.8.12
acton 1.act timeout 0.0ms 561.0MB 6737ms 120ms actonc 0.24.1
python 1.py timeout 0.0ms 321.1MB 4960ms 30ms cpython 3.13.2
python 2.py timeout 0.0ms 633.6MB 4830ms 153ms cpython 3.13.2
python 2.py timeout 0.0ms 959.7MB 4717ms 270ms pypy 3.10.16
python 1.py timeout 0.0ms 320.4MB 4933ms 50ms pyston 3.8.12
ruby 1.rb timeout 0.0ms 325.4MB 4847ms 137ms ruby 3.4.2
ruby 1.rb timeout 0.0ms 327.0MB 4840ms 143ms ruby/yjit 3.4.2
ruby 1.rb timeout 0.0ms 707.0MB 5073ms 153ms truffleruby 24.2.0

Input: 10

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
c 1.c 53ms 4.6ms 11.8MB 43ms 0ms gcc 14.2.0
go 1.go 54ms 3.4ms 10.1MB 43ms 0ms tinygo 0.37.0
c 1.c 55ms 2.0ms 11.6MB 43ms 0ms clang 14.0.0-1ubuntu1.1
nim 1.nim 56ms 4.0ms 11.5MB 47ms 0ms nim 2.2.2
zig 1.zig 56ms 2.5ms 10.8MB 47ms 0ms zig 0.14.0
odin 1.odin 57ms 4.4ms 11.4MB 47ms 0ms odin 2024
go 1.go 59ms 3.4ms 21.7MB 50ms 0ms go 1.24.1
nim 1.nim 59ms 4.5ms 11.8MB 50ms 0ms nim/clang 2.2.2
c 1.c 60ms 1.3ms 11.0MB 50ms 0ms zigcc 0.14.0
rust 1.rs 61ms 2.9ms 11.6MB 50ms 0ms rustc 1.85.1
v 1.v 63ms 4.4ms 11.0MB 53ms 0ms v/clang 0.4.10
d 1.d 64ms 1.5ms 15.0MB 57ms 0ms ldc2 1.40.1
v 1.v 67ms 1.4ms 11.7MB 60ms 0ms v/clang+gc 0.4.10
csharp 1.cs 69ms 1.7ms 24.8MB 50ms 0ms dotnet/aot 9.0.202
crystal 2.cr 77ms 2.1ms 4.4MB 67ms 0ms crystal 1.15.1
d 1.d 77ms 3.4ms 27.2MB 67ms 0ms dmd 2.110.0
rust 2.rs 79ms 2.3ms 2.9MB 70ms 0ms rustc 1.85.1
zig 2.zig 81ms 0.9ms 2.3MB 70ms 0ms zig 0.14.0
v 2.v 82ms 0.6ms 2.4MB 70ms 0ms v/clang 0.4.10
v 2.v 83ms 1.3ms 3.1MB 73ms 0ms v/clang+gc 0.4.10
crystal 1.cr 91ms 3.7ms 13.0MB 80ms 0ms crystal 1.15.1
wasm 1.rs 96ms 1.4ms 27.0MB 80ms 0ms wasmtime 31.0.0
wasm 2.rs 101ms 0.5ms 18.4MB 90ms 0ms wasmtime 31.0.0
csharp 1.cs 107ms 5.9ms 42.4MB 87ms 10ms dotnet 9.0.202
go 2.go 108ms 0.7ms 4.9MB 100ms 0ms tinygo 0.37.0
csharp 2.cs 112ms 3.0ms 11.8MB 97ms 0ms dotnet/aot 9.0.202
cpp 1.cpp 119ms 0.4ms 3.6MB 110ms 0ms g++ 11.4.0
codon 1-m.py 125ms 0.2ms 18.6MB 430ms 0ms codon 0.18.2
csharp 2.cs 131ms 2.0ms 29.9MB 110ms 13ms dotnet 9.0.202
cpp 1.cpp 133ms 1.4ms 4.1MB 123ms 0ms clang++ 14.0.0-1ubuntu1.1
csharp 1.cs 143ms 0.4ms 38.5MB 130ms 0ms mono 6.12.0
java 1.java 158ms 11ms 68.1MB 193ms 30ms openjdk 23
java 1.java 159ms 1.7ms 64.7MB 210ms 20ms openjdk 21
odin 2.odin 178ms 10ms 4.1MB 167ms 0ms odin 2024
go 2.go 184ms 1.0ms 6.1MB 173ms 0ms go 1.24.1
ocaml 1.ml 197ms 0.6ms 128.8MB 173ms 10ms ocaml 5.3.0
d 2.d 209ms 2.5ms 17.1MB 200ms 0ms ldc2 1.40.1
java 1-m.java 209ms 17ms 124.7MB 293ms 43ms graal/jvm 17.0.8
java 2.java 261ms 1.6ms 50.5MB 313ms 17ms openjdk 23
java 2.java 261ms 1.8ms 49.9MB 320ms 20ms openjdk 21
java 1.java 292ms 2.3ms 61.4MB 210ms 157ms openjdk/zgc 21
d 2.d 294ms 1.0ms 18.9MB 280ms 0ms dmd 2.110.0
java 2.java 371ms 7.0ms 47.7MB 307ms 143ms openjdk/zgc 21
codon 2-m.py 397ms 1.3ms 27.1MB 707ms 3ms codon 0.18.2
ocaml 2.ml 469ms 5.3ms 9.1MB 457ms 0ms ocaml 5.3.0
java 2-m.java 474ms 3.4ms 194.3MB 833ms 70ms graal/jvm 17.0.8
csharp 2.cs 486ms 4.3ms 23.1MB 470ms 0ms mono 6.12.0
python 1.py 554ms 4.7ms 135.2MB 517ms 23ms pypy 3.10.16
python 2.py 754ms 4.9ms 164.2MB 710ms 27ms pyston 3.8.12
python 1.py 1144ms 17ms 86.0MB 1117ms 10ms pyston 3.8.12
python 2.py 1460ms 5.5ms 164.8MB 1417ms 30ms cpython 3.13.2
python 2.py 1589ms 53ms 290.2MB 1500ms 77ms pypy 3.10.16
ruby 1-m.rb 1762ms 23ms 498.0MB 2533ms 183ms truffleruby 24.2.0
acton 1.act 2404ms 16ms 192.3MB 2937ms 40ms actonc 0.24.1
python 1.py 2736ms 37ms 86.8MB 2710ms 10ms cpython 3.13.2
ruby 1.rb 3732ms 397ms 131.8MB 3640ms 77ms ruby/yjit 3.4.2
ruby 1.rb 4536ms 21ms 131.1MB 4440ms 80ms ruby 3.4.2