All nsieve problem benchmarks

Current benchmark data was generated on Sat Nov 16 2024, 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 256ms 0.6ms 40.3MB 240ms 3ms zig 0.13.0
c 1.c 267ms 2.6ms 40.8MB 247ms 3ms clang 14.0.0-1ubuntu1.1
nim 1.nim 270ms 7.2ms 41.5MB 253ms 0ms nim 2.2.0
c 1.c 273ms 11ms 40.9MB 260ms 0ms gcc 14.2.0
odin 1.odin 283ms 4.5ms 40.6MB 263ms 3ms odin 2024
c 1.c 284ms 0.5ms 40.3MB 263ms 3ms zigcc 0.13.0
v 1.v 299ms 2.5ms 41.2MB 287ms 0ms v/clang+gc 0.4.8
go 1.go 302ms 4.7ms 71.7MB 287ms 3ms go 1.23.3
csharp 1.cs 304ms 5.3ms 57.4MB 280ms 7ms dotnet/aot 9.0.100
v 1.v 306ms 1.4ms 40.3MB 290ms 0ms v/clang 0.4.8
rust 1.rs 307ms 2.9ms 40.9MB 290ms 0ms rustc 1.82.0
d 1.d 315ms 2.3ms 77.1MB 300ms 0ms dmd 2.109.1
nim 1.nim 318ms 4.7ms 41.7MB 303ms 0ms nim/clang 2.2.0
rust 2.rs 321ms 3.0ms 6.6MB 310ms 0ms rustc 1.82.0
v 2.v 327ms 4.4ms 6.9MB 317ms 0ms v/clang+gc 0.4.8
zig 2.zig 331ms 0.1ms 6.1MB 320ms 0ms zig 0.13.0
csharp 1.cs 348ms 16ms 70.3MB 307ms 20ms dotnet 9.0.100
crystal 2.cr 351ms 1.7ms 8.4MB 340ms 0ms crystal 1.14.0
d 1.d 352ms 4.4ms 43.7MB 333ms 3ms ldc2 1.39.0
go 1.go 361ms 8.8ms 42.8MB 347ms 0ms tinygo 0.34.0
wasm 2.rs 370ms 5.1ms 25.5MB 360ms 0ms wasmtime 25.0.3
crystal 1.cr 373ms 4.3ms 43.0MB 357ms 0ms crystal 1.14.0
codon 1.py 374ms 2.0ms 46.6MB 357ms 0ms codon 0.17.0
java 1.java 395ms 4.3ms 114.7MB 450ms 10ms openjdk 21
java 1.java 396ms 5.8ms 118.3MB 430ms 27ms openjdk 23
csharp 2.cs 401ms 5.9ms 40.2MB 370ms 10ms dotnet 9.0.100
v 2.v 419ms 3.6ms 6.1MB 410ms 0ms v/clang 0.4.8
csharp 2.cs 424ms 1.2ms 21.9MB 403ms 7ms dotnet/aot 9.0.100
go 2.go 434ms 4.2ms 17.3MB 423ms 0ms tinygo 0.34.0
wasm 1.rs 468ms 2.9ms 57.8MB 450ms 3ms wasmtime 25.0.3
cpp 1.cpp 484ms 2.1ms 7.3MB 470ms 0ms g++ 11.4.0
cpp 1.cpp 530ms 0.3ms 7.7MB 520ms 0ms clang++ 14.0.0-1ubuntu1.1
csharp 1.cs 542ms 6.6ms 86.0MB 517ms 10ms mono 6.12.0
java 1.java 584ms 3.9ms 112.7MB 483ms 167ms openjdk/zgc 21
java 1-m.java 629ms 35ms 236.3MB 907ms 80ms graal/jvm 17.0.8
odin 2.odin 744ms 10ms 6.5MB 733ms 3ms odin 2024
java 2.java 772ms 4.5ms 57.5MB 827ms 13ms openjdk 21
java 2.java 777ms 5.0ms 60.4MB 827ms 20ms openjdk 23
go 2.go 779ms 0.5ms 21.8MB 763ms 7ms go 1.23.3
d 2.d 821ms 4.2ms 47.5MB 800ms 10ms ldc2 1.39.0
java 2.java 842ms 1.8ms 53.1MB 773ms 140ms openjdk/zgc 21
codon 2.py 856ms 4.9ms 99.8MB 833ms 20ms codon 0.17.0
ocaml 1.ml 975ms 2.8ms 552.4MB 910ms 50ms ocaml 5.2.0
d 2.d 1162ms 1.7ms 49.3MB 1143ms 3ms dmd 2.109.1
java 2-m.java 1369ms 54ms 201.6MB 2457ms 100ms graal/jvm 17.0.8
csharp 2.cs 1867ms 11ms 31.7MB 1850ms 7ms mono 6.12.0
ocaml 2.ml 1932ms 30ms 17.2MB 1920ms 0ms ocaml 5.2.0
python 1.py 2508ms 22ms 369.0MB 2427ms 63ms pypy 3.10.14
python 2.py 2995ms 49ms 632.9MB 2827ms 153ms pyston 3.8.12
python 1.py 4841ms 38ms 320.4MB 4780ms 47ms pyston 3.8.12
python 1.py timeout 0.0ms 321.3MB 4953ms 27ms cpython 3.13.0
python 2.py timeout 0.0ms 633.6MB 4820ms 160ms cpython 3.13.0
python 2.py timeout 0.0ms 959.3MB 4683ms 300ms pypy 3.10.14
ruby 1.rb timeout 0.0ms 340.6MB 4833ms 147ms ruby 3.3.6
ruby 1.rb timeout 0.0ms 341.9MB 4837ms 147ms ruby/yjit 3.3.6
ruby 1.rb timeout 0.0ms 766.6MB 5057ms 153ms truffleruby 24.1.1

Input: 10

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
zig 1.zig 49ms 1.5ms 11.0MB 40ms 0ms zig 0.13.0
c 1.c 52ms 3.3ms 11.6MB 40ms 0ms gcc 14.2.0
c 1.c 52ms 1.2ms 11.7MB 40ms 0ms clang 14.0.0-1ubuntu1.1
nim 1.nim 54ms 2.7ms 11.5MB 47ms 0ms nim 2.2.0
c 1.c 55ms 2.1ms 11.0MB 40ms 0ms zigcc 0.13.0
v 1.v 58ms 0.7ms 11.9MB 47ms 0ms v/clang+gc 0.4.8
odin 1.odin 59ms 0.9ms 11.4MB 50ms 0ms odin 2024
rust 1.rs 60ms 3.1ms 11.6MB 50ms 0ms rustc 1.82.0
go 1.go 60ms 0.6ms 21.6MB 47ms 0ms go 1.23.3
d 1.d 61ms 1.8ms 13.5MB 43ms 3ms ldc2 1.39.0
v 1.v 62ms 1.1ms 11.0MB 50ms 0ms v/clang 0.4.8
go 1.go 65ms 2.5ms 13.7MB 53ms 0ms tinygo 0.34.0
nim 1.nim 65ms 2.6ms 11.8MB 53ms 0ms nim/clang 2.2.0
d 1.d 66ms 0.8ms 24.1MB 57ms 0ms dmd 2.109.1
csharp 1.cs 67ms 0.9ms 23.9MB 50ms 0ms dotnet/aot 9.0.100
codon 1.py 73ms 2.7ms 17.3MB 60ms 0ms codon 0.17.0
crystal 1.cr 79ms 1.1ms 13.3MB 70ms 0ms crystal 1.14.0
rust 2.rs 79ms 0.3ms 2.9MB 70ms 0ms rustc 1.82.0
zig 2.zig 81ms 0.6ms 2.4MB 70ms 0ms zig 0.13.0
v 2.v 82ms 1.9ms 3.1MB 70ms 0ms v/clang+gc 0.4.8
crystal 2.cr 87ms 1.7ms 4.6MB 80ms 0ms crystal 1.14.0
wasm 2.rs 95ms 2.5ms 20.0MB 90ms 0ms wasmtime 25.0.3
wasm 1.rs 95ms 0.6ms 28.6MB 80ms 3ms wasmtime 25.0.3
csharp 1.cs 99ms 1.6ms 43.2MB 73ms 17ms dotnet 9.0.100
v 2.v 102ms 1.1ms 2.4MB 90ms 0ms v/clang 0.4.8
go 2.go 107ms 1.7ms 5.6MB 97ms 0ms tinygo 0.34.0
csharp 2.cs 109ms 0.4ms 17.8MB 97ms 0ms dotnet/aot 9.0.100
cpp 1.cpp 120ms 2.3ms 3.6MB 110ms 0ms g++ 11.4.0
cpp 1.cpp 132ms 0.8ms 4.0MB 120ms 0ms clang++ 14.0.0-1ubuntu1.1
csharp 2.cs 132ms 12ms 34.2MB 100ms 10ms dotnet 9.0.100
csharp 1.cs 145ms 2.5ms 41.9MB 130ms 3ms mono 6.12.0
java 1.java 153ms 3.0ms 68.3MB 190ms 27ms openjdk 23
java 1.java 160ms 6.4ms 64.9MB 213ms 23ms openjdk 21
odin 2.odin 177ms 11ms 2.8MB 167ms 0ms odin 2024
ocaml 1.ml 193ms 2.0ms 142.3MB 170ms 10ms ocaml 5.2.0
codon 2.py 197ms 1.6ms 25.6MB 187ms 3ms codon 0.17.0
go 2.go 197ms 2.3ms 7.6MB 180ms 3ms go 1.23.3
d 2.d 203ms 0.8ms 15.7MB 190ms 0ms ldc2 1.39.0
java 1-m.java 234ms 25ms 148.6MB 330ms 50ms graal/jvm 17.0.8
java 2.java 259ms 7.1ms 49.9MB 333ms 7ms openjdk 21
java 2.java 260ms 4.7ms 50.6MB 310ms 17ms openjdk 23
java 1.java 283ms 1.4ms 61.3MB 203ms 150ms openjdk/zgc 21
d 2.d 291ms 1.3ms 17.6MB 277ms 3ms dmd 2.109.1
java 2.java 372ms 8.8ms 47.7MB 300ms 147ms openjdk/zgc 21
ocaml 2.ml 478ms 6.0ms 9.1MB 463ms 0ms ocaml 5.2.0
csharp 2.cs 483ms 1.3ms 23.1MB 470ms 0ms mono 6.12.0
java 2-m.java 509ms 70ms 152.0MB 900ms 67ms graal/jvm 17.0.8
python 1.py 539ms 11ms 134.6MB 497ms 27ms pypy 3.10.14
python 2.py 720ms 4.3ms 164.2MB 673ms 30ms pyston 3.8.12
python 1.py 1102ms 6.4ms 86.0MB 1077ms 10ms pyston 3.8.12
python 2.py 1394ms 3.2ms 164.9MB 1350ms 27ms cpython 3.13.0
python 2.py 1533ms 15ms 289.7MB 1447ms 70ms pypy 3.10.14
ruby 1-m.rb 1723ms 34ms 487.6MB 2497ms 163ms truffleruby 24.1.1
python 1.py 2681ms 12ms 86.9MB 2650ms 10ms cpython 3.13.0
ruby 1.rb 3483ms 25ms 146.6MB 3380ms 87ms ruby/yjit 3.3.6
ruby 1.rb 4478ms 20ms 146.5MB 4387ms 70ms ruby 3.3.6