All nsieve problem benchmarks

Current benchmark data was generated on Sun Dec 01 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 261ms 9.1ms 40.3MB 247ms 0ms zig 0.13.0
c 1.c 278ms 2.0ms 40.9MB 257ms 10ms gcc 14.2.0
odin 1.odin 279ms 12ms 40.6MB 263ms 0ms odin 2024
c 1.c 287ms 8.8ms 40.9MB 267ms 7ms clang 14.0.0-1ubuntu1.1
nim 1.nim 291ms 18ms 41.5MB 273ms 0ms nim 2.2.0
rust 1.rs 308ms 10.0ms 40.9MB 293ms 0ms rustc 1.83.0
c 1.c 310ms 10ms 40.3MB 297ms 3ms zigcc 0.13.0
go 1.go 312ms 0.7ms 73.6MB 293ms 3ms go 1.23.3
d 1.d 315ms 3.8ms 77.2MB 293ms 0ms dmd 2.109.1
rust 2.rs 317ms 3.1ms 6.6MB 303ms 0ms rustc 1.83.0
nim 1.nim 317ms 14ms 41.8MB 307ms 0ms nim/clang 2.2.0
go 1.go 318ms 4.6ms 42.9MB 307ms 0ms tinygo 0.34.0
d 1.d 320ms 5.7ms 43.7MB 293ms 10ms ldc2 1.39.0
v 1.v 320ms 15ms 40.3MB 303ms 3ms v/clang 0.4.8
zig 2.zig 331ms 1.3ms 6.1MB 320ms 0ms zig 0.13.0
v 2.v 336ms 3.9ms 6.9MB 327ms 0ms v/clang+gc 0.4.8
crystal 2.cr 349ms 3.6ms 8.3MB 340ms 0ms crystal 1.14.0
wasm 2.rs 351ms 5.0ms 42.1MB 333ms 3ms wasmer/llvm 5.0.2
csharp 1.cs 352ms 5.4ms 53.0MB 323ms 13ms dotnet/aot 9.0.100
v 1.v 356ms 8.0ms 41.2MB 343ms 0ms v/clang+gc 0.4.8
wasm 1.rs 364ms 8.8ms 76.2MB 350ms 3ms wasmer/llvm 5.0.2
wasm 2.rs 381ms 11ms 23.8MB 370ms 0ms wasmtime 27.0.0
csharp 1.cs 382ms 18ms 76.9MB 350ms 20ms dotnet 9.0.100
crystal 1.cr 386ms 1.2ms 43.1MB 373ms 0ms crystal 1.14.0
codon 1.py 388ms 15ms 46.5MB 370ms 3ms codon 0.17.0
csharp 2.cs 396ms 2.5ms 39.9MB 377ms 7ms dotnet 9.0.100
v 2.v 419ms 1.9ms 6.1MB 410ms 0ms v/clang 0.4.8
java 1.java 420ms 1.7ms 118.1MB 460ms 20ms openjdk 23
csharp 2.cs 426ms 2.0ms 21.8MB 407ms 0ms dotnet/aot 9.0.100
go 2.go 432ms 2.1ms 18.0MB 420ms 0ms tinygo 0.34.0
java 1.java 432ms 8.9ms 115.2MB 487ms 20ms openjdk 21
cpp 1.cpp 486ms 4.6ms 7.3MB 470ms 0ms g++ 11.4.0
wasm 1.rs 510ms 6.0ms 58.2MB 490ms 7ms wasmtime 27.0.0
cpp 1.cpp 530ms 4.9ms 7.7MB 517ms 0ms clang++ 14.0.0-1ubuntu1.1
csharp 1.cs 555ms 7.7ms 87.7MB 530ms 10ms mono 6.12.0
java 1.java 604ms 2.3ms 112.6MB 513ms 163ms openjdk/zgc 21
java 1-m.java 703ms 85ms 239.9MB 1043ms 80ms graal/jvm 17.0.8
odin 2.odin 719ms 45ms 6.5MB 707ms 0ms odin 2024
java 2.java 781ms 3.3ms 60.6MB 833ms 13ms openjdk 23
go 2.go 787ms 2.3ms 21.9MB 780ms 0ms go 1.23.3
java 2.java 789ms 8.6ms 57.0MB 850ms 20ms openjdk 21
d 2.d 817ms 3.4ms 47.7MB 800ms 3ms ldc2 1.39.0
java 2.java 844ms 0.9ms 55.1MB 773ms 147ms openjdk/zgc 21
codon 2.py 904ms 9.6ms 99.9MB 880ms 20ms codon 0.17.0
ocaml 1.ml 945ms 20ms 551.3MB 877ms 50ms ocaml 5.2.1
d 2.d 1161ms 3.7ms 49.3MB 1140ms 3ms dmd 2.109.1
java 2-m.java 1312ms 74ms 240.5MB 2287ms 103ms graal/jvm 17.0.8
csharp 2.cs 1860ms 3.7ms 29.4MB 1840ms 7ms mono 6.12.0
ocaml 2.ml 1910ms 4.6ms 18.3MB 1897ms 0ms ocaml 5.2.1
python 1.py 2489ms 28ms 369.0MB 2417ms 57ms pypy 3.10.14
python 2.py 2905ms 8.7ms 632.9MB 2723ms 167ms pyston 3.8.12
python 1.py 4843ms 56ms 320.4MB 4783ms 43ms pyston 3.8.12
acton 1.act timeout 0.0ms 561.0MB 6780ms 90ms actonc 0.24.1
python 1.py timeout 0.0ms 321.2MB 4963ms 23ms cpython 3.13.0
python 2.py timeout 0.0ms 633.6MB 4813ms 170ms cpython 3.13.0
python 2.py timeout 0.0ms 959.3MB 4733ms 250ms pypy 3.10.14
ruby 1.rb timeout 0.0ms 340.6MB 4843ms 143ms ruby 3.3.6
ruby 1.rb timeout 0.0ms 341.9MB 4833ms 150ms ruby/yjit 3.3.6
ruby 1.rb timeout 0.0ms 764.3MB 5047ms 183ms truffleruby 24.1.1

Input: 10

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
nim 1.nim 53ms 2.9ms 11.5MB 43ms 0ms nim 2.2.0
c 1.c 53ms 2.4ms 11.6MB 40ms 0ms gcc 14.2.0
zig 1.zig 54ms 5.1ms 11.0MB 43ms 0ms zig 0.13.0
odin 1.odin 56ms 1.1ms 11.4MB 43ms 0ms odin 2024
go 1.go 57ms 0.9ms 13.7MB 47ms 0ms tinygo 0.34.0
c 1.c 57ms 3.4ms 11.5MB 43ms 0ms clang 14.0.0-1ubuntu1.1
v 1.v 58ms 1.6ms 11.0MB 47ms 0ms v/clang 0.4.8
go 1.go 60ms 4.2ms 21.6MB 50ms 0ms go 1.23.3
c 1.c 61ms 3.5ms 11.0MB 47ms 0ms zigcc 0.13.0
v 1.v 63ms 1.1ms 11.9MB 50ms 0ms v/clang+gc 0.4.8
rust 1.rs 63ms 4.7ms 11.6MB 50ms 0ms rustc 1.83.0
nim 1.nim 64ms 4.0ms 11.8MB 57ms 0ms nim/clang 2.2.0
d 1.d 65ms 1.0ms 13.7MB 53ms 0ms ldc2 1.39.0
d 1.d 67ms 1.7ms 24.0MB 57ms 0ms dmd 2.109.1
csharp 1.cs 69ms 2.0ms 25.5MB 50ms 7ms dotnet/aot 9.0.100
wasm 1.rs 70ms 1.4ms 47.0MB 57ms 0ms wasmer/llvm 5.0.2
codon 1.py 74ms 3.4ms 17.3MB 63ms 0ms codon 0.17.0
zig 2.zig 81ms 0.7ms 2.4MB 70ms 0ms zig 0.13.0
rust 2.rs 82ms 0.9ms 2.9MB 70ms 0ms rustc 1.83.0
v 2.v 82ms 0.3ms 3.1MB 70ms 0ms v/clang+gc 0.4.8
crystal 1.cr 82ms 1.2ms 13.3MB 70ms 0ms crystal 1.14.0
crystal 2.cr 91ms 2.2ms 4.6MB 80ms 0ms crystal 1.14.0
wasm 2.rs 95ms 1.1ms 38.6MB 80ms 0ms wasmer/llvm 5.0.2
wasm 2.rs 96ms 1.1ms 20.1MB 80ms 7ms wasmtime 27.0.0
wasm 1.rs 97ms 1.5ms 28.7MB 90ms 0ms wasmtime 27.0.0
csharp 1.cs 105ms 4.4ms 45.3MB 77ms 17ms dotnet 9.0.100
v 2.v 105ms 1.0ms 2.4MB 93ms 0ms v/clang 0.4.8
csharp 2.cs 111ms 1.2ms 17.8MB 93ms 0ms dotnet/aot 9.0.100
go 2.go 117ms 6.5ms 5.9MB 107ms 0ms tinygo 0.34.0
cpp 1.cpp 119ms 0.3ms 3.6MB 110ms 0ms g++ 11.4.0
csharp 2.cs 128ms 1.6ms 36.1MB 113ms 0ms dotnet 9.0.100
cpp 1.cpp 130ms 0.6ms 4.1MB 120ms 0ms clang++ 14.0.0-1ubuntu1.1
csharp 1.cs 149ms 4.9ms 40.2MB 133ms 3ms mono 6.12.0
java 1.java 158ms 0.5ms 68.0MB 200ms 23ms openjdk 23
java 1.java 164ms 12ms 64.9MB 210ms 27ms openjdk 21
odin 2.odin 173ms 11ms 2.8MB 163ms 0ms odin 2024
go 2.go 196ms 2.3ms 6.3MB 183ms 0ms go 1.23.3
codon 2.py 199ms 0.4ms 25.7MB 190ms 0ms codon 0.17.0
ocaml 1.ml 201ms 5.9ms 142.1MB 173ms 10ms ocaml 5.2.1
d 2.d 206ms 0.2ms 15.7MB 193ms 0ms ldc2 1.39.0
java 1-m.java 247ms 12ms 144.7MB 343ms 60ms graal/jvm 17.0.8
java 2.java 260ms 4.2ms 50.2MB 320ms 23ms openjdk 21
java 2.java 264ms 2.9ms 50.4MB 313ms 23ms openjdk 23
java 1.java 288ms 1.8ms 61.6MB 210ms 147ms openjdk/zgc 21
d 2.d 291ms 1.2ms 17.6MB 277ms 3ms dmd 2.109.1
java 2.java 368ms 4.5ms 49.4MB 317ms 130ms openjdk/zgc 21
ocaml 2.ml 471ms 2.4ms 9.1MB 460ms 0ms ocaml 5.2.1
java 2-m.java 474ms 5.2ms 194.3MB 823ms 70ms graal/jvm 17.0.8
csharp 2.cs 482ms 4.3ms 23.1MB 467ms 7ms mono 6.12.0
python 1.py 540ms 2.4ms 134.6MB 500ms 27ms pypy 3.10.14
python 2.py 709ms 4.9ms 164.2MB 657ms 33ms pyston 3.8.12
python 1.py 1118ms 29ms 86.0MB 1090ms 10ms pyston 3.8.12
python 2.py 1383ms 21ms 164.9MB 1333ms 30ms cpython 3.13.0
python 2.py 1531ms 11ms 289.6MB 1443ms 73ms pypy 3.10.14
ruby 1-m.rb 1748ms 14ms 492.6MB 2550ms 163ms truffleruby 24.1.1
acton 1.act 2372ms 19ms 192.6MB 2880ms 53ms actonc 0.24.1
python 1.py 2652ms 13ms 86.9MB 2623ms 10ms cpython 3.13.0
ruby 1.rb 3501ms 85ms 146.6MB 3403ms 80ms ruby/yjit 3.3.6
ruby 1.rb 4518ms 42ms 146.4MB 4413ms 83ms ruby 3.3.6