All nsieve problem benchmarks

Current benchmark data was generated on Tue Dec 31 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 240ms 5.5ms 40.3MB 223ms 0ms zig 0.13.0
c 1.c 247ms 8.8ms 40.9MB 227ms 3ms gcc 14.2.0
c 1.c 249ms 8.5ms 40.8MB 230ms 3ms clang 14.0.0-1ubuntu1.1
nim 1.nim 252ms 0.5ms 41.5MB 240ms 0ms nim 2.2.0
odin 1.odin 259ms 6.1ms 40.6MB 243ms 0ms odin 2024
c 1.c 261ms 8.3ms 40.3MB 243ms 0ms zigcc 0.13.0
v 1.v 272ms 1.7ms 40.3MB 257ms 0ms v/clang 0.4.9
rust 1.rs 277ms 3.8ms 40.9MB 267ms 0ms rustc 1.83.0
go 1.go 283ms 2.3ms 73.6MB 270ms 0ms go 1.23.4
d 1.d 285ms 1.0ms 43.7MB 273ms 0ms ldc2 1.40.0
v 1.v 288ms 6.7ms 60.7MB 273ms 0ms v/clang+gc 0.4.9
csharp 1.cs 288ms 4.4ms 55.1MB 270ms 3ms dotnet/aot 9.0.101
nim 1.nim 293ms 2.6ms 41.8MB 280ms 0ms nim/clang 2.2.0
d 1.d 296ms 2.6ms 77.2MB 277ms 3ms dmd 2.109.1
rust 2.rs 307ms 3.2ms 6.7MB 290ms 0ms rustc 1.83.0
wasm 2.rs 308ms 3.3ms 23.9MB 300ms 0ms wasmtime 28.0.0
v 2.v 311ms 1.4ms 6.2MB 300ms 0ms v/clang 0.4.9
csharp 1.cs 312ms 3.5ms 74.6MB 283ms 17ms dotnet 9.0.101
zig 2.zig 316ms 1.6ms 6.1MB 303ms 0ms zig 0.13.0
go 1.go 317ms 10.0ms 43.3MB 307ms 0ms tinygo 0.35.0
v 2.v 318ms 2.2ms 6.9MB 307ms 0ms v/clang+gc 0.4.9
crystal 2.cr 327ms 5.2ms 8.4MB 313ms 0ms crystal 1.14.0
crystal 1.cr 348ms 6.2ms 43.1MB 337ms 0ms crystal 1.14.0
codon 1.py 348ms 9.8ms 46.5MB 333ms 0ms codon 0.17.0
java 1.java 367ms 5.0ms 118.1MB 397ms 27ms openjdk 23
java 1.java 367ms 3.8ms 114.6MB 413ms 27ms openjdk 21
csharp 2.cs 376ms 1.5ms 39.9MB 357ms 7ms dotnet 9.0.101
csharp 2.cs 401ms 4.0ms 19.8MB 383ms 0ms dotnet/aot 9.0.101
go 2.go 413ms 8.6ms 17.3MB 403ms 0ms tinygo 0.35.0
wasm 1.rs 437ms 1.5ms 58.0MB 417ms 3ms wasmtime 28.0.0
cpp 1.cpp 463ms 15ms 7.3MB 447ms 0ms g++ 11.4.0
cpp 1.cpp 499ms 2.6ms 7.7MB 487ms 0ms clang++ 14.0.0-1ubuntu1.1
csharp 1.cs 509ms 6.2ms 84.0MB 483ms 10ms mono 6.12.0
java 1.java 535ms 4.6ms 114.6MB 440ms 157ms openjdk/zgc 21
java 1-m.java 654ms 9.2ms 208.3MB 983ms 70ms graal/jvm 17.0.8
odin 2.odin 662ms 40ms 6.5MB 647ms 0ms odin 2024
java 2.java 734ms 5.2ms 57.1MB 777ms 23ms openjdk 21
go 2.go 742ms 11ms 21.8MB 727ms 7ms go 1.23.4
java 2.java 750ms 10ms 60.4MB 790ms 20ms openjdk 23
d 2.d 798ms 3.1ms 47.7MB 777ms 10ms ldc2 1.40.0
java 2.java 804ms 11ms 53.3MB 740ms 130ms openjdk/zgc 21
codon 2.py 805ms 5.6ms 99.9MB 790ms 13ms codon 0.17.0
ocaml 1.ml 887ms 4.5ms 550.8MB 827ms 43ms ocaml 5.2.1
d 2.d 1115ms 19ms 49.3MB 1100ms 0ms dmd 2.109.1
java 2-m.java 1277ms 30ms 265.2MB 2290ms 83ms graal/jvm 17.0.8
csharp 2.cs 1771ms 12ms 31.3MB 1753ms 7ms mono 6.12.0
ocaml 2.ml 1822ms 17ms 18.6MB 1810ms 0ms ocaml 5.2.1
python 1.py 2328ms 43ms 369.1MB 2263ms 47ms pypy 3.10.14
python 2.py 2768ms 15ms 632.9MB 2590ms 163ms pyston 3.8.12
python 1.py 4623ms 31ms 320.4MB 4567ms 40ms pyston 3.8.12
acton 1.act timeout 0.0ms 561.0MB 6733ms 113ms actonc 0.24.1
python 1.py timeout 0.0ms 321.1MB 4953ms 27ms cpython 3.13.1
python 2.py timeout 0.0ms 633.5MB 4813ms 170ms cpython 3.13.1
python 2.py timeout 0.0ms 959.3MB 4743ms 243ms pypy 3.10.14
ruby 1.rb timeout 0.0ms 325.3MB 4843ms 140ms ruby 3.4.1
ruby 1.rb timeout 0.0ms 327.1MB 4863ms 123ms ruby/yjit 3.4.1
ruby 1.rb timeout 0.0ms 785.4MB 5060ms 150ms truffleruby 24.1.1

Input: 10

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
c 1.c 49ms 2.3ms 11.8MB 37ms 0ms gcc 14.2.0
zig 1.zig 49ms 1.2ms 11.0MB 33ms 0ms zig 0.13.0
c 1.c 50ms 3.8ms 11.5MB 40ms 0ms clang 14.0.0-1ubuntu1.1
odin 1.odin 51ms 4.9ms 11.3MB 40ms 0ms odin 2024
nim 1.nim 53ms 2.2ms 11.5MB 40ms 0ms nim 2.2.0
go 1.go 54ms 2.1ms 21.6MB 43ms 0ms go 1.23.4
c 1.c 55ms 3.7ms 11.0MB 43ms 0ms zigcc 0.13.0
v 1.v 57ms 3.8ms 11.0MB 50ms 0ms v/clang 0.4.9
d 1.d 58ms 2.9ms 13.7MB 47ms 3ms ldc2 1.40.0
rust 1.rs 59ms 0.6ms 11.6MB 47ms 0ms rustc 1.83.0
v 1.v 59ms 0.8ms 19.9MB 50ms 0ms v/clang+gc 0.4.9
nim 1.nim 60ms 3.6ms 11.8MB 50ms 0ms nim/clang 2.2.0
d 1.d 62ms 1.1ms 23.9MB 47ms 3ms dmd 2.109.1
csharp 1.cs 63ms 1.1ms 25.9MB 43ms 3ms dotnet/aot 9.0.101
go 1.go 65ms 0.1ms 13.3MB 53ms 0ms tinygo 0.35.0
codon 1.py 71ms 1.3ms 15.3MB 57ms 0ms codon 0.17.0
crystal 1.cr 74ms 2.1ms 13.3MB 60ms 0ms crystal 1.14.0
rust 2.rs 75ms 0.2ms 2.9MB 70ms 0ms rustc 1.83.0
v 2.v 77ms 1.9ms 2.4MB 70ms 0ms v/clang 0.4.9
v 2.v 77ms 1.6ms 3.1MB 70ms 0ms v/clang+gc 0.4.9
zig 2.zig 78ms 0.3ms 2.4MB 70ms 0ms zig 0.13.0
wasm 2.rs 80ms 0.2ms 23.9MB 70ms 0ms wasmtime 28.0.0
crystal 2.cr 82ms 1.0ms 4.6MB 70ms 0ms crystal 1.14.0
wasm 1.rs 90ms 2.3ms 28.7MB 77ms 3ms wasmtime 28.0.0
csharp 1.cs 97ms 0.8ms 45.3MB 70ms 13ms dotnet 9.0.101
go 2.go 101ms 1.3ms 4.9MB 90ms 0ms tinygo 0.35.0
csharp 2.cs 103ms 1.4ms 17.9MB 87ms 3ms dotnet/aot 9.0.101
cpp 1.cpp 113ms 2.5ms 3.6MB 100ms 0ms g++ 11.4.0
csharp 2.cs 120ms 3.1ms 35.9MB 107ms 3ms dotnet 9.0.101
cpp 1.cpp 125ms 0.9ms 4.0MB 113ms 0ms clang++ 14.0.0-1ubuntu1.1
csharp 1.cs 139ms 3.8ms 39.9MB 117ms 7ms mono 6.12.0
java 1.java 140ms 4.3ms 68.2MB 177ms 17ms openjdk 23
java 1.java 151ms 8.4ms 65.3MB 200ms 17ms openjdk 21
odin 2.odin 166ms 14ms 2.8MB 153ms 0ms odin 2024
ocaml 1.ml 171ms 3.0ms 142.3MB 147ms 10ms ocaml 5.2.1
codon 2.py 185ms 0.8ms 25.8MB 170ms 3ms codon 0.17.0
go 2.go 188ms 1.4ms 5.9MB 177ms 0ms go 1.23.4
d 2.d 196ms 2.3ms 15.7MB 177ms 3ms ldc2 1.40.0
java 1-m.java 210ms 26ms 127.6MB 297ms 50ms graal/jvm 17.0.8
java 2.java 244ms 4.8ms 50.3MB 297ms 20ms openjdk 21
java 2.java 249ms 5.7ms 50.9MB 290ms 20ms openjdk 23
java 1.java 264ms 1.7ms 63.3MB 193ms 133ms openjdk/zgc 21
d 2.d 274ms 1.6ms 17.6MB 260ms 0ms dmd 2.109.1
java 2.java 348ms 11ms 49.4MB 273ms 137ms openjdk/zgc 21
ocaml 2.ml 451ms 8.0ms 9.1MB 437ms 0ms ocaml 5.2.1
csharp 2.cs 462ms 9.6ms 27.1MB 450ms 0ms mono 6.12.0
java 2-m.java 489ms 42ms 151.7MB 883ms 47ms graal/jvm 17.0.8
python 1.py 497ms 14ms 134.7MB 467ms 17ms pypy 3.10.14
python 2.py 679ms 22ms 164.2MB 630ms 30ms pyston 3.8.12
python 1.py 1022ms 10ms 86.0MB 1000ms 3ms pyston 3.8.12
python 2.py 1327ms 14ms 164.8MB 1283ms 27ms cpython 3.13.1
python 2.py 1463ms 8.1ms 289.7MB 1363ms 80ms pypy 3.10.14
ruby 1-m.rb 1601ms 15ms 491.7MB 2290ms 177ms truffleruby 24.1.1
acton 1.act 2260ms 73ms 229.8MB 2830ms 30ms actonc 0.24.1
python 1.py 2501ms 11ms 86.9MB 2473ms 10ms cpython 3.13.1
ruby 1.rb 3191ms 32ms 131.9MB 3100ms 77ms ruby/yjit 3.4.1
ruby 1.rb 4269ms 40ms 131.1MB 4180ms 73ms ruby 3.4.1