All nsieve problem benchmarks

Current benchmark data was generated on Wed Mar 22 2023, full log can be found HERE

CONTRIBUTIONS are WELCOME!

[x86_64][2 cores] Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz (Model 106)

* -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 2.zig 428ms 1.3ms 6.1MB 420ms 0ms zig 0.11.0-dev.2227+f9b582950
julia 1.jl 430ms 0.9ms 157.1MB 393ms 117ms julia/aot 1.8.5
crystal 2.cr 461ms 0.7ms 7.7MB 450ms 0ms crystal 1.7.3
rust 2.rs 479ms 2.3ms 6.7MB 467ms 0ms rustc 1.68.0
v 2.v 506ms 1.9ms 10.5MB 493ms 0ms v/clang 0.3.3
v 2.v 507ms 0.7ms 10.5MB 490ms 0ms v/clang+gc 0.3.3
julia 1.jl 554ms 5.5ms 203.1MB 500ms 127ms julia 1.8.5
wasm 2.rs 562ms 1.9ms 20.9MB 550ms 0ms wasmedgec 0.11.2
nim 2.nim 596ms 2.2ms 6.3MB 583ms 0ms nim/clang 1.6.12
go 2.go 632ms 3.7ms 16.6MB 620ms 0ms tinygo 0.27.0
cpp 1.cpp 650ms 3.0ms 7.8MB 637ms 0ms g++ 12.2.0
cpp 1.cpp 722ms 2.3ms 7.4MB 707ms 0ms clang++ 14.0.0
nim 2.nim 754ms 137ms 6.0MB 743ms 0ms nim 1.6.12
csharp 2.cs 767ms 4.0ms 19.9MB 757ms 3ms dotnet/aot 7.0.202
wasm 2.rs 796ms 3.6ms 17.1MB 783ms 0ms wasmtime 7.0.0
v 1.v 832ms 28ms 71.3MB 807ms 3ms v/clang+gc 0.3.3
zig 1.zig 854ms 8.7ms 40.2MB 827ms 10ms zig 0.11.0-dev.2227+f9b582950
d 2.d 880ms 1.5ms 47.5MB 853ms 10ms ldc2 1.31.0
odin 1.odin 885ms 26ms 40.5MB 860ms 7ms odin 2023
d 1.d 905ms 4.8ms 43.5MB 880ms 7ms ldc2 1.31.0
go 2.go 915ms 3.0ms 21.8MB 890ms 17ms go 1.20.2
c 1.c 922ms 32ms 40.8MB 897ms 10ms clang 14.0.0
csharp 2.cs 935ms 6.5ms 36.4MB 913ms 0ms dotnet 7.0.202
v 1.v 939ms 40ms 41.2MB 920ms 0ms v/clang 0.3.3
c 1.c 950ms 68ms 40.1MB 927ms 7ms zigcc 0.11.0-dev.2227+f9b582950
go 1.go 958ms 45ms 72.7MB 940ms 3ms go 1.20.2
d 1.d 982ms 27ms 75.9MB 957ms 13ms dmd 2.102.2
c 1.c 985ms 51ms 41.0MB 960ms 7ms gcc 12.2.0
rust 1.rs 992ms 42ms 40.9MB 967ms 10ms rustc 1.68.0
crystal 1.cr 994ms 6.3ms 42.0MB 977ms 3ms crystal 1.7.3
go 1.go 1001ms 25ms 42.8MB 977ms 7ms tinygo 0.27.0
csharp 1.cs 1001ms 26ms 68.0MB 973ms 20ms dotnet/aot 7.0.202
wasm 1.rs 1008ms 22ms 54.3MB 987ms 3ms wasmedgec 0.11.2
java 2.java 1018ms 4.2ms 52.2MB 1047ms 20ms openjdk 21
nim 1.nim 1028ms 28ms 41.0MB 1007ms 10ms nim 1.6.12
java 2.java 1031ms 6.4ms 52.7MB 1063ms 13ms openjdk 19
nim 1.nim 1034ms 43ms 41.2MB 1020ms 0ms nim/clang 1.6.12
java 1.java 1040ms 16ms 85.5MB 1053ms 27ms openjdk 21
java 2.java 1042ms 5.0ms 49.9MB 1023ms 53ms openjdk/zgc 19
codon 1.py 1079ms 7.2ms 48.3MB 1053ms 7ms codon 0.15.5
java 1.java 1089ms 31ms 84.9MB 1110ms 17ms openjdk 19
java 1.java 1092ms 6.4ms 111.8MB 1030ms 90ms openjdk/zgc 19
csharp 1.cs 1121ms 52ms 86.7MB 1090ms 13ms mono 6.12.0
odin 2.odin 1203ms 6.9ms 6.4MB 1187ms 0ms odin 2023
codon 2.py 1240ms 33ms 81.7MB 1207ms 17ms codon 0.15.5
wasm 2.rs 1525ms 3.9ms 53.9MB 1507ms 10ms node 18.15.0
d 2.d 1614ms 4.6ms 48.9MB 1583ms 13ms dmd 2.102.2
wasm 1.rs 1720ms 108ms 51.3MB 1703ms 3ms wasmtime 7.0.0
java 2-m.java 1749ms 22ms 208.3MB 3060ms 87ms graal/jvm 17.0.6
wasm 1.rs 1805ms 21ms 88.8MB 1787ms 7ms node 18.15.0
java 1-m.java 1878ms 75ms 342.6MB 2760ms 97ms graal/jvm 17.0.6
ocaml 1.ml 2179ms 9.5ms 550.5MB 2057ms 103ms ocaml 5.0.0
ocaml 2.ml 2403ms 2.0ms 19.1MB 2387ms 0ms ocaml 5.0.0
csharp 1.cs 2417ms 106ms 88.2MB 2367ms 17ms dotnet 7.0.202
csharp 2.cs 2459ms 3.9ms 32.4MB 2440ms 7ms mono 6.12.0
python 1.py 4146ms 26ms 388.8MB 4003ms 123ms pypy 3.9.16
python 1.py timeout 0.0ms 321.1MB 4927ms 60ms cpython 3.11.2
python 2.py timeout 0.0ms 633.6MB 4703ms 277ms cpython 3.11.2
python 2.py timeout 0.0ms 1013.7MB 4707ms 270ms pypy 3.9.16
python 1.py timeout 0.0ms 320.5MB 4897ms 83ms pyston 3.8.12
python 2.py timeout 0.0ms 633.1MB 4643ms 337ms pyston 3.8.12
ruby 1.rb timeout 0.0ms 344.5MB 4847ms 133ms ruby 3.2.1
ruby 1.rb timeout 0.0ms 345.2MB 4830ms 150ms ruby/yjit 3.2.1
ruby 1.rb timeout 0.0ms 682.5MB 5027ms 163ms truffleruby 22.3.1

Input: 10

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
zig 2.zig 96ms 1.4ms 2.3MB 80ms 0ms zig 0.11.0-dev.2227+f9b582950
crystal 2.cr 106ms 0.2ms 4.0MB 100ms 0ms crystal 1.7.3
rust 2.rs 109ms 0.3ms 3.1MB 97ms 0ms rustc 1.68.0
v 2.v 117ms 1.1ms 4.1MB 110ms 0ms v/clang+gc 0.3.3
v 2.v 117ms 0.8ms 4.0MB 107ms 0ms v/clang 0.3.3
zig 1.zig 121ms 1.2ms 11.0MB 110ms 0ms zig 0.11.0-dev.2227+f9b582950
c 1.c 122ms 1.6ms 11.7MB 110ms 0ms clang 14.0.0
v 1.v 123ms 0.3ms 21.1MB 110ms 0ms v/clang+gc 0.3.3
c 1.c 123ms 3.3ms 11.0MB 107ms 0ms zigcc 0.11.0-dev.2227+f9b582950
go 1.go 124ms 1.3ms 21.5MB 107ms 0ms go 1.20.2
c 1.c 125ms 0.7ms 11.7MB 113ms 0ms gcc 12.2.0
d 1.d 126ms 0.6ms 14.0MB 110ms 0ms ldc2 1.31.0
v 1.v 126ms 0.8ms 20.3MB 110ms 0ms v/clang 0.3.3
odin 1.odin 126ms 0.6ms 11.3MB 117ms 0ms odin 2023
rust 1.rs 132ms 0.4ms 11.7MB 120ms 0ms rustc 1.68.0
nim 1.nim 133ms 0.9ms 11.1MB 120ms 0ms nim 1.6.12
wasm 2.rs 134ms 0.2ms 16.7MB 123ms 0ms wasmedgec 0.11.2
nim 1.nim 134ms 0.6ms 11.3MB 123ms 0ms nim/clang 1.6.12
d 1.d 135ms 0.3ms 24.6MB 120ms 0ms dmd 2.102.2
go 1.go 135ms 1.7ms 12.8MB 120ms 0ms tinygo 0.27.0
nim 2.nim 139ms 0.5ms 3.2MB 130ms 0ms nim/clang 1.6.12
crystal 1.cr 141ms 0.1ms 12.8MB 130ms 0ms crystal 1.7.3
csharp 1.cs 142ms 1.6ms 29.8MB 130ms 3ms dotnet/aot 7.0.202
go 2.go 147ms 1.5ms 5.4MB 140ms 0ms tinygo 0.27.0
wasm 1.rs 150ms 0.2ms 25.2MB 133ms 0ms wasmedgec 0.11.2
codon 1.py 154ms 1.3ms 18.9MB 140ms 0ms codon 0.15.5
cpp 1.cpp 154ms 0.6ms 4.0MB 143ms 0ms g++ 12.2.0
nim 2.nim 158ms 0.9ms 3.0MB 150ms 0ms nim 1.6.12
cpp 1.cpp 170ms 0.3ms 4.0MB 160ms 0ms clang++ 14.0.0
codon 2.py 184ms 0.6ms 23.9MB 167ms 3ms codon 0.15.5
csharp 1.cs 188ms 1.2ms 40.7MB 177ms 3ms mono 6.12.0
csharp 2.cs 192ms 2.3ms 15.2MB 187ms 0ms dotnet/aot 7.0.202
wasm 2.rs 194ms 1.0ms 13.3MB 180ms 0ms wasmtime 7.0.0
d 2.d 211ms 0.9ms 15.5MB 200ms 0ms ldc2 1.31.0
go 2.go 218ms 0.5ms 7.5MB 210ms 0ms go 1.20.2
julia 1.jl 224ms 2.4ms 149.9MB 167ms 100ms julia/aot 1.8.5
wasm 1.rs 233ms 0.8ms 21.8MB 220ms 0ms wasmtime 7.0.0
java 1.java 244ms 2.5ms 60.6MB 270ms 17ms openjdk 21
java 1.java 252ms 4.1ms 62.2MB 273ms 17ms openjdk 19
csharp 2.cs 277ms 5.3ms 32.1MB 237ms 7ms dotnet 7.0.202
java 1.java 294ms 11ms 61.1MB 277ms 53ms openjdk/zgc 19
odin 2.odin 295ms 1.3ms 2.8MB 283ms 0ms odin 2023
java 2.java 335ms 5.6ms 46.4MB 367ms 10ms openjdk 21
java 2.java 339ms 17ms 48.4MB 357ms 17ms openjdk 19
java 1-m.java 347ms 9.9ms 144.0MB 480ms 47ms graal/jvm 17.0.6
julia 1.jl 349ms 5.9ms 197.4MB 293ms 130ms julia 1.8.5
wasm 1.rs 371ms 5.0ms 59.4MB 353ms 7ms node 18.15.0
java 2.java 375ms 1.1ms 44.0MB 357ms 50ms openjdk/zgc 19
d 2.d 401ms 1.7ms 16.7MB 390ms 0ms dmd 2.102.2
csharp 1.cs 404ms 6.3ms 42.2MB 363ms 7ms dotnet 7.0.202
wasm 2.rs 409ms 0.8ms 50.4MB 397ms 7ms node 18.15.0
ocaml 1.ml 467ms 11ms 140.2MB 430ms 20ms ocaml 5.0.0
ocaml 2.ml 599ms 23ms 9.1MB 587ms 0ms ocaml 5.0.0
csharp 2.cs 604ms 1.7ms 25.6MB 587ms 3ms mono 6.12.0
java 2-m.java 626ms 4.2ms 149.3MB 1103ms 50ms graal/jvm 17.0.6
python 1.py 993ms 16ms 213.2MB 940ms 37ms pypy 3.9.16
python 2.py 1218ms 4.4ms 164.4MB 1137ms 60ms pyston 3.8.12
python 2.py 1564ms 8.5ms 266.7MB 1433ms 113ms pypy 3.9.16
python 2.py 1726ms 13ms 164.9MB 1650ms 60ms cpython 3.11.2
python 1.py 2009ms 31ms 86.0MB 1970ms 23ms pyston 3.8.12
ruby 1.rb 3067ms 47ms 426.8MB 3563ms 113ms truffleruby 22.3.1
python 1.py 3489ms 5.9ms 86.7MB 3447ms 27ms cpython 3.11.2
ruby 1.rb timeout 0.0ms 151.0MB 4910ms 70ms ruby 3.2.1
ruby 1.rb timeout 0.0ms 151.5MB 4910ms 67ms ruby/yjit 3.2.1