All nsieve problem benchmarks

Current benchmark data was generated on Thu May 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
nim 1.nim 269ms 7.3ms 41.5MB 260ms 0ms nim 2.2.4
zig 1.zig 271ms 2.6ms 40.2MB 250ms 0ms zig 0.14.0
c 1.c 279ms 14ms 40.8MB 263ms 0ms clang 14.0.0-1ubuntu1.1
c 1.c 281ms 12ms 41.1MB 263ms 0ms gcc 15.1.0
odin 1.odin 286ms 4.5ms 40.6MB 273ms 3ms odin 2024
go 1.go 288ms 12ms 39.8MB 273ms 0ms tinygo 0.37.0
c 1.c 297ms 11ms 40.3MB 280ms 0ms zigcc 0.14.0
v 1.v 305ms 4.9ms 40.3MB 287ms 0ms v/clang 0.4.10
d 1.d 310ms 2.0ms 43.5MB 293ms 3ms ldc2 1.40.1
csharp 1.cs 310ms 3.9ms 78.9MB 290ms 10ms dotnet/aot 9.0.203
v 1.v 312ms 1.2ms 60.6MB 297ms 0ms v/clang+gc 0.4.10
nim 1.nim 318ms 3.3ms 41.8MB 307ms 0ms nim/clang 2.2.4
go 1.go 321ms 6.3ms 71.7MB 307ms 0ms go 1.24.2
rust 2.rs 324ms 2.1ms 6.6MB 313ms 0ms rustc 1.86.0
zig 2.zig 328ms 2.4ms 6.0MB 320ms 0ms zig 0.14.0
v 2.v 333ms 3.9ms 6.1MB 323ms 0ms v/clang 0.4.10
v 2.v 338ms 1.5ms 6.9MB 330ms 0ms v/clang+gc 0.4.10
rust 1.rs 342ms 6.1ms 40.9MB 327ms 3ms rustc 1.86.0
crystal 2.cr 348ms 4.1ms 8.3MB 340ms 0ms crystal 1.16.2
csharp 1.cs 355ms 2.4ms 96.3MB 330ms 13ms dotnet 9.0.203
d 1.d 360ms 4.2ms 79.3MB 343ms 7ms dmd 2.111.0
wasm 2.rs 367ms 10ms 22.7MB 353ms 0ms wasmtime 32.0.0
csharp 2.cs 393ms 1.8ms 17.4MB 377ms 0ms dotnet/aot 9.0.203
csharp 2.cs 397ms 1.9ms 35.6MB 380ms 7ms dotnet 9.0.203
java 1.java 402ms 2.3ms 118.6MB 447ms 23ms openjdk 23
java 1.java 410ms 1.4ms 114.9MB 463ms 20ms openjdk 21
go 2.go 427ms 4.0ms 21.6MB 413ms 0ms tinygo 0.37.0
crystal 1.cr 427ms 4.1ms 43.0MB 413ms 0ms crystal 1.16.2
codon 1-m.py 444ms 7.4ms 47.7MB 747ms 0ms codon 0.18.2
wasm 1.rs 458ms 4.0ms 56.9MB 443ms 0ms wasmtime 32.0.0
cpp 1.cpp 487ms 2.7ms 7.3MB 480ms 0ms g++ 11.4.0
cpp 1.cpp 531ms 3.0ms 7.8MB 520ms 0ms clang++ 14.0.0-1ubuntu1.1
csharp 1.cs 550ms 8.4ms 84.0MB 527ms 10ms mono 6.12.0
java 1.java 580ms 9.2ms 112.8MB 480ms 170ms openjdk/zgc 21
java 1-m.java 624ms 34ms 271.5MB 903ms 70ms graal/jvm 17.0.8
odin 2.odin 695ms 43ms 6.5MB 683ms 0ms odin 2024
java 2.java 781ms 2.9ms 57.3MB 840ms 17ms openjdk 21
java 2.java 782ms 2.8ms 60.3MB 833ms 23ms openjdk 23
go 2.go 788ms 2.5ms 21.6MB 777ms 7ms go 1.24.2
java 2.java 841ms 5.2ms 53.3MB 770ms 140ms openjdk/zgc 21
d 2.d 843ms 1.6ms 47.5MB 827ms 3ms ldc2 1.40.1
ocaml 1.ml 955ms 5.3ms 552.0MB 893ms 43ms ocaml 5.3.0
d 2.d 1170ms 1.5ms 51.5MB 1150ms 7ms dmd 2.111.0
java 2-m.java 1350ms 36ms 197.1MB 2433ms 97ms graal/jvm 17.0.8
codon 2.py 1528ms 20ms 100.8MB 1827ms 30ms codon 0.18.2
csharp 2.cs 1862ms 2.9ms 27.5MB 1847ms 0ms mono 6.12.0
ocaml 2.ml 1880ms 9.6ms 17.1MB 1867ms 0ms ocaml 5.3.0
python 1.py 2568ms 13ms 369.6MB 2497ms 60ms pypy 3.10.16
python 2.py 3071ms 131ms 633.0MB 2887ms 167ms pyston 3.8.12
python 1.py 4763ms 47ms 320.4MB 4703ms 50ms pyston 3.8.12
acton 1.act timeout 0.0ms 561.0MB 6610ms 93ms actonc 0.25.0
python 1.py timeout 0.0ms 321.3MB 4960ms 20ms cpython 3.13.3
python 2.py timeout 0.0ms 633.7MB 4823ms 163ms cpython 3.13.3
python 2.py timeout 0.0ms 959.9MB 4720ms 267ms pypy 3.10.16
ruby 1.rb timeout 0.0ms 325.3MB 4853ms 133ms ruby 3.4.3
ruby 1.rb timeout 0.0ms 327.0MB 4860ms 130ms ruby/yjit 3.4.3
ruby 1.rb timeout 0.0ms 731.8MB 5057ms 157ms truffleruby 24.2.1

Input: 10

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
c 1.c 52ms 3.5ms 11.6MB 43ms 0ms gcc 15.1.0
nim 1.nim 54ms 4.3ms 11.5MB 47ms 0ms nim 2.2.4
zig 1.zig 54ms 4.4ms 10.9MB 47ms 0ms zig 0.14.0
odin 1.odin 55ms 5.9ms 11.4MB 43ms 0ms odin 2024
c 1.c 55ms 4.3ms 11.5MB 47ms 0ms clang 14.0.0-1ubuntu1.1
go 1.go 57ms 1.6ms 10.5MB 47ms 0ms tinygo 0.37.0
c 1.c 59ms 1.5ms 11.0MB 50ms 0ms zigcc 0.14.0
v 1.v 60ms 2.6ms 11.9MB 50ms 0ms v/clang+gc 0.4.10
v 1.v 61ms 3.4ms 11.0MB 50ms 0ms v/clang 0.4.10
d 1.d 63ms 3.5ms 15.7MB 53ms 0ms ldc2 1.40.1
csharp 1.cs 64ms 3.2ms 24.8MB 50ms 7ms dotnet/aot 9.0.203
nim 1.nim 65ms 1.4ms 11.8MB 57ms 0ms nim/clang 2.2.4
go 1.go 67ms 0.4ms 21.6MB 60ms 0ms go 1.24.2
rust 1.rs 73ms 3.7ms 11.6MB 63ms 0ms rustc 1.86.0
d 1.d 75ms 2.1ms 25.5MB 63ms 0ms dmd 2.111.0
zig 2.zig 81ms 0.9ms 2.3MB 70ms 0ms zig 0.14.0
rust 2.rs 82ms 1.1ms 3.0MB 70ms 0ms rustc 1.86.0
v 2.v 82ms 1.3ms 3.1MB 73ms 0ms v/clang+gc 0.4.10
v 2.v 83ms 2.2ms 2.4MB 77ms 0ms v/clang 0.4.10
crystal 2.cr 88ms 2.4ms 4.5MB 80ms 0ms crystal 1.16.2
crystal 1.cr 89ms 0.3ms 13.2MB 80ms 0ms crystal 1.16.2
wasm 1.rs 90ms 0.5ms 27.6MB 80ms 0ms wasmtime 32.0.0
wasm 2.rs 95ms 0.6ms 18.9MB 83ms 0ms wasmtime 32.0.0
csharp 1.cs 100ms 1.2ms 42.3MB 80ms 7ms dotnet 9.0.203
csharp 2.cs 101ms 1.3ms 11.9MB 90ms 0ms dotnet/aot 9.0.203
go 2.go 109ms 0.7ms 4.9MB 100ms 0ms tinygo 0.37.0
cpp 1.cpp 120ms 1.9ms 3.6MB 110ms 0ms g++ 11.4.0
csharp 2.cs 127ms 1.0ms 30.1MB 103ms 10ms dotnet 9.0.203
codon 1-m.py 127ms 3.2ms 18.4MB 427ms 0ms codon 0.18.2
cpp 1.cpp 131ms 2.1ms 4.1MB 120ms 0ms clang++ 14.0.0-1ubuntu1.1
csharp 1.cs 146ms 1.7ms 38.2MB 130ms 7ms mono 6.12.0
java 1.java 154ms 0.3ms 68.1MB 200ms 20ms openjdk 23
java 1.java 162ms 5.3ms 65.0MB 217ms 20ms openjdk 21
odin 2.odin 183ms 3.1ms 2.8MB 173ms 0ms odin 2024
ocaml 1.ml 185ms 5.7ms 139.6MB 163ms 10ms ocaml 5.3.0
go 2.go 197ms 3.1ms 6.1MB 183ms 0ms go 1.24.2
java 1-m.java 205ms 14ms 137.8MB 287ms 43ms graal/jvm 17.0.8
d 2.d 208ms 1.4ms 17.7MB 200ms 0ms ldc2 1.40.1
java 2.java 259ms 1.4ms 50.0MB 323ms 17ms openjdk 21
java 2.java 262ms 7.0ms 50.4MB 310ms 17ms openjdk 23
java 1.java 287ms 3.4ms 61.6MB 210ms 147ms openjdk/zgc 21
d 2.d 292ms 0.9ms 19.9MB 280ms 0ms dmd 2.111.0
java 2.java 370ms 1.9ms 47.3MB 310ms 143ms openjdk/zgc 21
codon 2-m.py 398ms 9.8ms 27.1MB 707ms 3ms codon 0.18.2
ocaml 2.ml 469ms 4.3ms 9.1MB 457ms 0ms ocaml 5.3.0
java 2-m.java 472ms 2.1ms 145.4MB 833ms 63ms graal/jvm 17.0.8
csharp 2.cs 483ms 5.4ms 23.0MB 470ms 0ms mono 6.12.0
python 1.py 533ms 4.7ms 135.3MB 493ms 23ms pypy 3.10.16
python 2.py 719ms 1.6ms 164.2MB 673ms 30ms pyston 3.8.12
python 1.py 1046ms 3.4ms 86.1MB 1020ms 10ms pyston 3.8.12
python 2.py 1404ms 6.2ms 165.0MB 1367ms 27ms cpython 3.13.3
python 2.py 1537ms 17ms 290.2MB 1447ms 77ms pypy 3.10.16
ruby 1-m.rb 1692ms 8.3ms 475.4MB 2483ms 163ms truffleruby 24.2.1
acton 1.act 2441ms 6.0ms 192.4MB 2940ms 60ms actonc 0.25.0
python 1.py 2673ms 5.0ms 86.9MB 2650ms 10ms cpython 3.13.3
ruby 1.rb 3437ms 77ms 131.8MB 3337ms 83ms ruby/yjit 3.4.3
ruby 1.rb 4403ms 32ms 131.0MB 4307ms 80ms ruby 3.4.3