All nsieve problem benchmarks

Current benchmark data was generated on Wed Jan 22 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
c 1.c 257ms 1.9ms 40.9MB 240ms 0ms gcc 14.2.0
c 1.c 267ms 2.2ms 41.0MB 247ms 3ms clang 14.0.0-1ubuntu1.1
zig 1.zig 268ms 1.7ms 40.3MB 247ms 3ms zig 0.13.0
odin 1.odin 273ms 12ms 40.6MB 253ms 0ms odin 2024
nim 1.nim 276ms 7.5ms 41.5MB 263ms 0ms nim 2.2.0
c 1.c 292ms 2.5ms 40.3MB 273ms 3ms zigcc 0.13.0
go 1.go 292ms 3.7ms 71.7MB 277ms 3ms go 1.23.5
d 1.d 299ms 2.9ms 43.7MB 287ms 0ms ldc2 1.40.0
v 1.v 299ms 8.0ms 60.6MB 283ms 0ms v/clang+gc 0.4.9
crystal 2.cr 299ms 3.7ms 8.2MB 287ms 0ms crystal 1.15.0
v 1.v 303ms 2.9ms 40.3MB 287ms 0ms v/clang 0.4.9
csharp 1.cs 308ms 4.3ms 54.8MB 287ms 10ms dotnet/aot 9.0.102
d 1.d 313ms 4.7ms 77.2MB 297ms 0ms dmd 2.109.1
nim 1.nim 313ms 4.8ms 41.8MB 297ms 0ms nim/clang 2.2.0
rust 1.rs 313ms 4.9ms 40.9MB 293ms 7ms rustc 1.84.0
rust 2.rs 319ms 1.7ms 6.6MB 307ms 0ms rustc 1.84.0
v 2.v 327ms 4.7ms 6.9MB 313ms 0ms v/clang+gc 0.4.9
v 2.v 328ms 1.7ms 6.1MB 310ms 3ms v/clang 0.4.9
go 1.go 331ms 3.9ms 43.1MB 320ms 0ms tinygo 0.35.0
zig 2.zig 334ms 8.4ms 6.1MB 323ms 0ms zig 0.13.0
csharp 1.cs 349ms 1.7ms 70.4MB 323ms 10ms dotnet 9.0.102
codon 1.py 368ms 5.0ms 46.5MB 357ms 0ms codon 0.17.0
wasm 2.rs 370ms 9.0ms 24.2MB 357ms 0ms wasmtime 29.0.1
csharp 2.cs 396ms 1.6ms 19.9MB 380ms 3ms dotnet/aot 9.0.102
csharp 2.cs 400ms 11ms 38.9MB 370ms 10ms dotnet 9.0.102
java 1.java 402ms 0.4ms 118.1MB 447ms 20ms openjdk 23
java 1.java 409ms 10ms 115.0MB 467ms 17ms openjdk 21
crystal 1.cr 419ms 1.3ms 42.8MB 403ms 0ms crystal 1.15.0
go 2.go 438ms 3.1ms 17.3MB 430ms 0ms tinygo 0.35.0
wasm 1.rs 471ms 3.2ms 58.5MB 453ms 3ms wasmtime 29.0.1
cpp 1.cpp 483ms 3.5ms 7.3MB 470ms 0ms g++ 11.4.0
cpp 1.cpp 526ms 1.4ms 7.7MB 513ms 0ms clang++ 14.0.0-1ubuntu1.1
csharp 1.cs 535ms 6.8ms 86.0MB 507ms 10ms mono 6.12.0
java 1.java 566ms 4.4ms 112.7MB 467ms 160ms openjdk/zgc 21
java 1-m.java 613ms 19ms 236.5MB 893ms 70ms graal/jvm 17.0.8
odin 2.odin 735ms 6.5ms 6.5MB 727ms 0ms odin 2024
java 2.java 783ms 1.3ms 57.6MB 843ms 20ms openjdk 21
go 2.go 783ms 2.4ms 21.8MB 770ms 3ms go 1.23.5
java 2.java 788ms 14ms 60.7MB 843ms 17ms openjdk 23
java 2.java 838ms 5.5ms 53.0MB 770ms 140ms openjdk/zgc 21
d 2.d 838ms 3.1ms 47.7MB 817ms 7ms ldc2 1.40.0
codon 2.py 848ms 3.7ms 100.0MB 830ms 13ms codon 0.17.0
ocaml 1.ml 914ms 6.3ms 552.5MB 853ms 43ms ocaml 5.3.0
d 2.d 1161ms 2.2ms 49.3MB 1140ms 3ms dmd 2.109.1
java 2-m.java 1347ms 43ms 203.8MB 2387ms 103ms graal/jvm 17.0.8
csharp 2.cs 1874ms 13ms 31.5MB 1860ms 0ms mono 6.12.0
ocaml 2.ml 1875ms 8.7ms 18.6MB 1857ms 0ms ocaml 5.3.0
python 1.py 2562ms 34ms 369.0MB 2500ms 47ms pypy 3.10.14
python 2.py 3081ms 166ms 632.9MB 2897ms 163ms pyston 3.8.12
python 1.py 4831ms 35ms 320.4MB 4770ms 47ms pyston 3.8.12
acton 1.act timeout 0.0ms 561.0MB 6750ms 100ms actonc 0.24.1
python 1.py timeout 0.0ms 321.1MB 4960ms 27ms cpython 3.13.1
python 2.py timeout 0.0ms 633.7MB 4817ms 167ms cpython 3.13.1
python 2.py timeout 0.0ms 959.2MB 4713ms 273ms pypy 3.10.14
ruby 1.rb timeout 0.0ms 325.4MB 4850ms 137ms ruby 3.4.1
ruby 1.rb timeout 0.0ms 327.0MB 4850ms 130ms ruby/yjit 3.4.1
ruby 1.rb timeout 0.0ms 756.9MB 5047ms 177ms truffleruby 24.1.2

Input: 10

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
c 1.c 49ms 1.7ms 11.6MB 40ms 0ms gcc 14.2.0
zig 1.zig 50ms 1.6ms 11.0MB 37ms 0ms zig 0.13.0
nim 1.nim 51ms 1.2ms 11.5MB 40ms 0ms nim 2.2.0
c 1.c 51ms 2.0ms 11.7MB 37ms 0ms clang 14.0.0-1ubuntu1.1
odin 1.odin 53ms 2.0ms 11.3MB 40ms 0ms odin 2024
c 1.c 54ms 2.1ms 11.0MB 40ms 0ms zigcc 0.13.0
go 1.go 56ms 1.2ms 21.7MB 47ms 0ms go 1.23.5
v 1.v 58ms 0.9ms 11.9MB 47ms 0ms v/clang+gc 0.4.9
rust 1.rs 59ms 1.3ms 11.6MB 50ms 0ms rustc 1.84.0
d 1.d 60ms 1.3ms 13.7MB 50ms 0ms ldc2 1.40.0
nim 1.nim 61ms 1.1ms 11.7MB 50ms 0ms nim/clang 2.2.0
v 1.v 62ms 2.2ms 11.0MB 50ms 0ms v/clang 0.4.9
csharp 1.cs 65ms 0.2ms 27.5MB 50ms 3ms dotnet/aot 9.0.102
go 1.go 66ms 1.6ms 13.5MB 53ms 0ms tinygo 0.35.0
d 1.d 67ms 2.6ms 24.2MB 57ms 0ms dmd 2.109.1
codon 1.py 71ms 1.3ms 15.3MB 60ms 0ms codon 0.17.0
crystal 2.cr 75ms 1.4ms 4.4MB 67ms 0ms crystal 1.15.0
v 2.v 80ms 0.6ms 3.1MB 70ms 0ms v/clang+gc 0.4.9
rust 2.rs 80ms 0.7ms 2.9MB 70ms 0ms rustc 1.84.0
v 2.v 80ms 0.9ms 2.4MB 70ms 0ms v/clang 0.4.9
zig 2.zig 81ms 1.4ms 2.4MB 70ms 0ms zig 0.13.0
crystal 1.cr 89ms 2.6ms 13.0MB 77ms 0ms crystal 1.15.0
wasm 2.rs 93ms 1.0ms 22.5MB 80ms 3ms wasmtime 29.0.1
wasm 1.rs 97ms 3.2ms 29.2MB 87ms 0ms wasmtime 29.0.1
csharp 1.cs 98ms 1.1ms 45.5MB 73ms 10ms dotnet 9.0.102
csharp 2.cs 102ms 0.7ms 17.8MB 87ms 3ms dotnet/aot 9.0.102
go 2.go 108ms 1.8ms 5.4MB 100ms 0ms tinygo 0.35.0
cpp 1.cpp 121ms 3.9ms 3.6MB 107ms 0ms g++ 11.4.0
csharp 2.cs 130ms 1.9ms 36.2MB 107ms 7ms dotnet 9.0.102
cpp 1.cpp 132ms 1.8ms 4.0MB 123ms 0ms clang++ 14.0.0-1ubuntu1.1
csharp 1.cs 144ms 1.5ms 40.3MB 127ms 7ms mono 6.12.0
java 1.java 155ms 5.6ms 68.1MB 207ms 20ms openjdk 23
java 1.java 157ms 1.5ms 64.9MB 207ms 17ms openjdk 21
odin 2.odin 168ms 11ms 2.8MB 160ms 0ms odin 2024
ocaml 1.ml 176ms 3.5ms 142.3MB 153ms 7ms ocaml 5.3.0
go 2.go 192ms 2.2ms 7.6MB 180ms 0ms go 1.23.5
codon 2.py 198ms 1.5ms 25.9MB 187ms 3ms codon 0.17.0
java 1-m.java 200ms 4.4ms 130.6MB 273ms 43ms graal/jvm 17.0.8
d 2.d 208ms 1.5ms 15.6MB 197ms 0ms ldc2 1.40.0
java 2.java 260ms 2.9ms 50.2MB 320ms 23ms openjdk 21
java 2.java 266ms 6.5ms 50.5MB 307ms 23ms openjdk 23
java 1.java 285ms 4.9ms 63.4MB 210ms 140ms openjdk/zgc 21
d 2.d 291ms 1.5ms 17.8MB 277ms 3ms dmd 2.109.1
java 2.java 365ms 1.7ms 47.4MB 303ms 133ms openjdk/zgc 21
ocaml 2.ml 466ms 4.9ms 9.1MB 453ms 0ms ocaml 5.3.0
csharp 2.cs 484ms 8.1ms 24.9MB 463ms 3ms mono 6.12.0
java 2-m.java 486ms 11ms 151.2MB 857ms 67ms graal/jvm 17.0.8
python 1.py 541ms 4.6ms 134.6MB 507ms 17ms pypy 3.10.14
python 2.py 721ms 1.2ms 164.2MB 683ms 17ms pyston 3.8.12
python 1.py 1162ms 45ms 86.0MB 1130ms 13ms pyston 3.8.12
python 2.py 1435ms 3.2ms 164.8MB 1390ms 27ms cpython 3.13.1
python 2.py 1571ms 24ms 289.8MB 1473ms 80ms pypy 3.10.14
ruby 1-m.rb 1816ms 30ms 491.5MB 2583ms 167ms truffleruby 24.1.2
acton 1.act 2338ms 14ms 192.4MB 2857ms 37ms actonc 0.24.1
python 1.py 2724ms 28ms 86.8MB 2693ms 13ms cpython 3.13.1
ruby 1.rb 3401ms 20ms 131.9MB 3310ms 77ms ruby/yjit 3.4.1
ruby 1.rb 4444ms 10ms 131.1MB 4360ms 70ms ruby 3.4.1