All nsieve problem benchmarks

Current benchmark data was generated on Sun Jun 01 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 255ms 8.2ms 40.2MB 240ms 0ms zig 0.14.1
c 1.c 261ms 9.0ms 40.9MB 243ms 0ms gcc 15.1.0
nim 1.nim 264ms 6.1ms 41.5MB 250ms 0ms nim 2.2.4
odin 1.odin 267ms 7.1ms 40.5MB 253ms 7ms odin 2024
c 1.c 271ms 2.2ms 41.0MB 257ms 0ms clang 14.0.0-1ubuntu1.1
go 1.go 277ms 8.7ms 39.8MB 267ms 0ms tinygo 0.37.0
c 1.c 285ms 5.2ms 40.3MB 270ms 0ms zigcc 0.14.1
go 1.go 291ms 2.9ms 71.6MB 277ms 3ms go 1.24.3
csharp 1.cs 297ms 3.2ms 78.8MB 273ms 7ms dotnet/aot 9.0.300
rust 1.rs 298ms 3.3ms 40.9MB 283ms 0ms rustc 1.87.0
v 1.v 304ms 5.3ms 40.3MB 283ms 0ms v/clang 0.4.10
rust 2.rs 308ms 4.1ms 6.6MB 293ms 0ms rustc 1.87.0
nim 1.nim 316ms 7.7ms 41.8MB 300ms 0ms nim/clang 2.2.4
v 1.v 320ms 3.2ms 41.2MB 307ms 0ms v/clang+gc 0.4.10
d 1.d 322ms 14ms 43.5MB 307ms 3ms ldc2 1.40.1
zig 2.zig 328ms 2.8ms 6.0MB 320ms 0ms zig 0.14.1
v 2.v 330ms 2.8ms 6.7MB 320ms 0ms v/clang+gc 0.4.10
v 2.v 332ms 2.3ms 6.1MB 320ms 0ms v/clang 0.4.10
csharp 1.cs 345ms 12ms 96.5MB 317ms 17ms dotnet 9.0.300
crystal 2.cr 345ms 3.2ms 8.2MB 337ms 0ms crystal 1.16.3
d 1.d 352ms 8.5ms 79.3MB 333ms 7ms dmd 2.111.0
wasm 2.rs 373ms 4.4ms 22.9MB 357ms 0ms wasmtime 33.0.0
java 1.java 386ms 4.5ms 115.4MB 440ms 17ms openjdk 21
csharp 2.cs 392ms 2.8ms 17.7MB 380ms 0ms dotnet/aot 9.0.300
csharp 2.cs 399ms 7.5ms 35.3MB 377ms 13ms dotnet 9.0.300
java 1.java 400ms 5.1ms 118.2MB 440ms 23ms openjdk 23
crystal 1.cr 423ms 6.7ms 42.9MB 410ms 0ms crystal 1.16.3
go 2.go 424ms 4.8ms 21.3MB 413ms 0ms tinygo 0.37.0
codon 1-m.py 444ms 8.1ms 67.3MB 743ms 7ms codon 0.18.2
wasm 1.rs 454ms 1.1ms 57.0MB 440ms 0ms wasmtime 33.0.0
cpp 1.cpp 485ms 1.3ms 7.3MB 473ms 0ms g++ 11.4.0
cpp 1.cpp 526ms 2.2ms 7.8MB 517ms 0ms clang++ 14.0.0-1ubuntu1.1
csharp 1.cs 538ms 2.7ms 84.2MB 517ms 10ms mono 6.12.0
java 1.java 563ms 9.0ms 112.7MB 473ms 163ms openjdk/zgc 21
java 1-m.java 597ms 12ms 270.7MB 853ms 83ms graal/jvm 17.0.8
odin 2.odin 722ms 37ms 6.5MB 713ms 0ms odin 2024
go 2.go 739ms 2.5ms 21.6MB 723ms 10ms go 1.24.3
java 2.java 779ms 4.4ms 60.6MB 827ms 20ms openjdk 23
java 2.java 780ms 4.0ms 57.3MB 843ms 20ms openjdk 21
java 2.java 835ms 8.1ms 53.1MB 767ms 137ms openjdk/zgc 21
d 2.d 841ms 2.9ms 47.5MB 820ms 7ms ldc2 1.40.1
ocaml 1.ml 945ms 20ms 552.1MB 883ms 47ms ocaml 5.3.0
d 2.d 1167ms 5.5ms 51.5MB 1150ms 3ms dmd 2.111.0
java 2-m.java 1339ms 38ms 269.6MB 2393ms 100ms graal/jvm 17.0.8
codon 2.py 1520ms 13ms 100.8MB 1830ms 17ms codon 0.18.2
csharp 2.cs 1888ms 39ms 27.4MB 1873ms 0ms mono 6.12.0
ocaml 2.ml 1894ms 13ms 18.5MB 1883ms 0ms ocaml 5.3.0
python 1.py 2510ms 35ms 369.7MB 2443ms 53ms pypy 3.10.16
python 2.py 3001ms 11ms 632.9MB 2817ms 167ms pyston 3.8.12
python 1.py 4815ms 106ms 320.4MB 4753ms 47ms pyston 3.8.12
acton 1.act timeout 0.0ms 560.9MB 6633ms 100ms actonc 0.25.0
python 1.py timeout 0.0ms 321.4MB 4960ms 23ms cpython 3.13.3
python 2.py timeout 0.0ms 633.8MB 4820ms 160ms cpython 3.13.3
python 2.py timeout 0.0ms 959.9MB 4717ms 273ms pypy 3.10.16
ruby 1.rb timeout 0.0ms 325.3MB 4850ms 133ms ruby 3.4.4
ruby 1.rb timeout 0.0ms 327.0MB 4847ms 140ms ruby/yjit 3.4.4
ruby 1.rb timeout 0.0ms 731.9MB 5060ms 163ms truffleruby 24.2.1

Input: 10

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
nim 1.nim 52ms 2.1ms 11.5MB 47ms 0ms nim 2.2.4
c 1.c 53ms 3.0ms 11.7MB 40ms 0ms clang 14.0.0-1ubuntu1.1
zig 1.zig 55ms 1.4ms 10.9MB 43ms 0ms zig 0.14.1
c 1.c 55ms 2.4ms 11.6MB 43ms 0ms gcc 15.1.0
odin 1.odin 56ms 4.6ms 11.3MB 47ms 0ms odin 2024
go 1.go 57ms 1.1ms 10.3MB 50ms 0ms tinygo 0.37.0
go 1.go 58ms 2.3ms 21.6MB 50ms 0ms go 1.24.3
c 1.c 58ms 2.2ms 11.0MB 47ms 0ms zigcc 0.14.1
v 1.v 62ms 3.3ms 11.9MB 53ms 0ms v/clang+gc 0.4.10
nim 1.nim 63ms 5.6ms 11.8MB 53ms 0ms nim/clang 2.2.4
d 1.d 64ms 3.8ms 15.6MB 57ms 0ms ldc2 1.40.1
csharp 1.cs 64ms 1.2ms 24.9MB 50ms 0ms dotnet/aot 9.0.300
rust 1.rs 64ms 1.3ms 11.6MB 50ms 0ms rustc 1.87.0
v 1.v 65ms 1.9ms 11.0MB 57ms 0ms v/clang 0.4.10
d 1.d 76ms 3.3ms 25.3MB 67ms 0ms dmd 2.111.0
rust 2.rs 78ms 1.1ms 2.9MB 70ms 0ms rustc 1.87.0
zig 2.zig 81ms 1.1ms 2.3MB 70ms 0ms zig 0.14.1
v 2.v 82ms 1.2ms 2.4MB 73ms 0ms v/clang 0.4.10
v 2.v 82ms 1.3ms 3.1MB 70ms 0ms v/clang+gc 0.4.10
crystal 2.cr 87ms 2.3ms 4.5MB 80ms 0ms crystal 1.16.3
crystal 1.cr 91ms 3.5ms 13.2MB 80ms 0ms crystal 1.16.3
wasm 1.rs 94ms 1.3ms 27.7MB 80ms 0ms wasmtime 33.0.0
wasm 2.rs 95ms 0.6ms 19.2MB 80ms 0ms wasmtime 33.0.0
csharp 2.cs 101ms 1.4ms 11.9MB 90ms 0ms dotnet/aot 9.0.300
go 2.go 107ms 2.9ms 4.9MB 97ms 0ms tinygo 0.37.0
csharp 1.cs 108ms 2.1ms 42.5MB 83ms 7ms dotnet 9.0.300
cpp 1.cpp 120ms 1.4ms 3.6MB 110ms 0ms g++ 11.4.0
codon 1-m.py 128ms 1.7ms 18.5MB 437ms 0ms codon 0.18.2
cpp 1.cpp 131ms 0.7ms 4.0MB 120ms 0ms clang++ 14.0.0-1ubuntu1.1
csharp 2.cs 134ms 3.2ms 29.9MB 110ms 7ms dotnet 9.0.300
csharp 1.cs 144ms 1.5ms 38.1MB 127ms 3ms mono 6.12.0
java 1.java 152ms 0.7ms 67.9MB 200ms 17ms openjdk 23
java 1.java 158ms 5.5ms 64.9MB 210ms 17ms openjdk 21
odin 2.odin 179ms 8.0ms 2.8MB 170ms 0ms odin 2024
go 2.go 180ms 1.4ms 5.9MB 170ms 0ms go 1.24.3
ocaml 1.ml 183ms 0.9ms 141.7MB 160ms 10ms ocaml 5.3.0
java 1-m.java 199ms 1.5ms 124.8MB 287ms 37ms graal/jvm 17.0.8
d 2.d 209ms 1.1ms 17.8MB 200ms 0ms ldc2 1.40.1
java 2.java 256ms 1.2ms 49.8MB 317ms 20ms openjdk 21
java 2.java 260ms 1.5ms 50.4MB 313ms 17ms openjdk 23
java 1.java 281ms 0.9ms 61.2MB 200ms 143ms openjdk/zgc 21
d 2.d 293ms 1.8ms 19.8MB 280ms 0ms dmd 2.111.0
java 2.java 366ms 2.7ms 47.4MB 307ms 137ms openjdk/zgc 21
codon 2-m.py 392ms 4.2ms 27.4MB 703ms 7ms codon 0.18.2
ocaml 2.ml 467ms 6.7ms 9.1MB 453ms 0ms ocaml 5.3.0
java 2-m.java 472ms 6.2ms 144.5MB 843ms 60ms graal/jvm 17.0.8
csharp 2.cs 488ms 5.9ms 21.1MB 473ms 0ms mono 6.12.0
python 1.py 534ms 6.8ms 135.3MB 497ms 20ms pypy 3.10.16
python 2.py 727ms 14ms 164.2MB 683ms 27ms pyston 3.8.12
python 1.py 1059ms 9.9ms 86.0MB 1033ms 10ms pyston 3.8.12
python 2.py 1436ms 9.3ms 165.0MB 1393ms 27ms cpython 3.13.3
python 2.py 1518ms 1.3ms 290.1MB 1430ms 73ms pypy 3.10.16
ruby 1-m.rb 1696ms 5.1ms 473.6MB 2500ms 160ms truffleruby 24.2.1
acton 1.act 2432ms 41ms 229.8MB 2987ms 43ms actonc 0.25.0
python 1.py 2777ms 67ms 87.0MB 2753ms 10ms cpython 3.13.3
ruby 1.rb 3471ms 137ms 131.8MB 3380ms 80ms ruby/yjit 3.4.4
ruby 1.rb 4452ms 24ms 131.1MB 4367ms 70ms ruby 3.4.4