All nsieve problem benchmarks

Current benchmark data was generated on Thu Jul 13 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 430ms 5.5ms 6.0MB 413ms 0ms zig 0.11.0-dev.3978+711b4e93e
julia 1.jl 441ms 3.7ms 206.9MB 367ms 60ms julia/aot 1.9.2
crystal 2.cr 458ms 6.2ms 8.0MB 443ms 0ms crystal 1.9.0
rust 2.rs 459ms 1.6ms 6.6MB 443ms 0ms rustc 1.70.0
v 2.v 507ms 7.4ms 10.8MB 493ms 0ms v/clang 0.4.0
v 2.v 514ms 7.9ms 10.6MB 500ms 0ms v/clang+gc 0.4.0
rust 1.rs 519ms 15ms 40.9MB 497ms 7ms rustc 1.70.0
zig 1.zig 524ms 19ms 40.3MB 497ms 10ms zig 0.11.0-dev.3978+711b4e93e
v 1.v 546ms 16ms 41.2MB 527ms 0ms v/clang 0.4.0
d 1.d 562ms 13ms 43.1MB 537ms 10ms ldc2 1.32.2
nim 1.nim 568ms 14ms 40.3MB 550ms 0ms nim 1.6.14
wasm 2.rs 586ms 9.0ms 31.6MB 567ms 3ms wasmedgec 0.13.1
odin 1.odin 587ms 13ms 40.6MB 570ms 3ms odin 2023
v 1.v 591ms 49ms 41.1MB 570ms 0ms v/clang+gc 0.4.0
go 1.go 600ms 68ms 43.8MB 580ms 7ms tinygo 0.28.1
wasm 2.rs 604ms 0.9ms 21.2MB 590ms 0ms wasmtime 10.0.1
crystal 1.cr 604ms 9.8ms 42.6MB 583ms 0ms crystal 1.9.0
c 1.c 604ms 35ms 40.8MB 577ms 10ms clang 14.0.0
d 1.d 607ms 7.4ms 75.9MB 587ms 3ms dmd 2.104.1
nim 2.nim 608ms 6.1ms 6.5MB 597ms 0ms nim/clang 1.6.14
c 1.c 610ms 8.4ms 40.9MB 580ms 13ms gcc 13.1.0
wasm 1.rs 613ms 36ms 66.5MB 587ms 10ms wasmedgec 0.13.1
csharp 1.cs 620ms 16ms 69.7MB 600ms 13ms dotnet/aot 7.0.306
wasm 1.rs 624ms 13ms 55.3MB 603ms 7ms wasmtime 10.0.1
nim 2.nim 633ms 1.1ms 6.1MB 617ms 0ms nim 1.6.14
go 1.go 633ms 64ms 72.4MB 607ms 7ms go 1.20.6
go 2.go 640ms 9.9ms 16.3MB 627ms 0ms tinygo 0.28.1
c 1.c 642ms 41ms 40.1MB 613ms 13ms zigcc 0.11.0-dev.3978+711b4e93e
cpp 1.cpp 657ms 2.1ms 6.9MB 650ms 0ms g++ 11.3.0
codon 1.py 682ms 64ms 44.5MB 657ms 10ms codon 0.16.2
java 1.java 694ms 14ms 85.4MB 700ms 23ms openjdk 22
cpp 1.cpp 718ms 8.5ms 7.5MB 703ms 0ms clang++ 14.0.0
java 1.java 734ms 33ms 84.7MB 750ms 23ms openjdk 20
nim 1.nim 758ms 55ms 41.3MB 743ms 0ms nim/clang 1.6.14
csharp 1.cs 762ms 8.7ms 86.6MB 740ms 10ms mono 6.12.0
csharp 2.cs 767ms 3.1ms 21.7MB 757ms 0ms dotnet/aot 7.0.306
d 2.d 894ms 1.5ms 48.2MB 870ms 13ms ldc2 1.32.2
codon 2.py 911ms 35ms 104.9MB 883ms 13ms codon 0.16.2
go 2.go 915ms 12ms 21.8MB 887ms 10ms go 1.20.6
csharp 2.cs 942ms 5.1ms 38.8MB 900ms 7ms dotnet 7.0.306
java 1.java 970ms 84ms 110.1MB 930ms 87ms openjdk/zgc 20
java 2.java 1000ms 5.3ms 48.9MB 980ms 57ms openjdk/zgc 20
java 2.java 1017ms 8.0ms 51.9MB 1053ms 7ms openjdk 22
java 2.java 1020ms 4.5ms 50.9MB 1043ms 13ms openjdk 20
wasm 2.rs 1090ms 9.2ms 53.6MB 1067ms 10ms node 18.16.1
odin 2.odin 1175ms 2.5ms 6.4MB 1167ms 0ms odin 2023
java 1-m.java 1226ms 33ms 242.1MB 1830ms 90ms graal/jvm 17.0.7
wasm 1.rs 1351ms 92ms 87.9MB 1337ms 10ms node 18.16.1
csharp 1.cs 1381ms 38ms 86.3MB 1333ms 23ms dotnet 7.0.306
d 2.d 1533ms 3.0ms 50.2MB 1513ms 7ms dmd 2.104.1
java 2-m.java 1700ms 6.4ms 190.7MB 3000ms 70ms graal/jvm 17.0.7
ocaml 1.ml 1999ms 32ms 550.5MB 1893ms 87ms ocaml 5.0.0
ocaml 2.ml 2424ms 16ms 19.0MB 2410ms 0ms ocaml 5.0.0
csharp 2.cs 2479ms 43ms 34.3MB 2460ms 3ms mono 6.12.0
python 1.py 3962ms 23ms 388.8MB 3823ms 117ms pypy 3.10.12
python 2.py 4945ms 31ms 633.0MB 4633ms 293ms pyston 3.8.12
python 1.py timeout 0.0ms 321.1MB 4937ms 50ms cpython 3.11.4
python 2.py timeout 0.0ms 633.6MB 4703ms 277ms cpython 3.11.4
python 2.py timeout 0.0ms 1013.9MB 4687ms 287ms pypy 3.10.12
python 1.py timeout 0.0ms 320.5MB 4910ms 73ms pyston 3.8.12
ruby 1.rb timeout 0.0ms 344.6MB 4853ms 123ms ruby 3.2.2
ruby 1.rb timeout 0.0ms 345.2MB 4850ms 127ms ruby/yjit 3.2.2
ruby 1.rb timeout 0.0ms 683.4MB 5050ms 130ms truffleruby 22.3.1

Input: 10

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
zig 2.zig 94ms 0.1ms 2.3MB 87ms 0ms zig 0.11.0-dev.3978+711b4e93e
rust 2.rs 102ms 1.2ms 3.1MB 90ms 0ms rustc 1.70.0
crystal 2.cr 103ms 0.3ms 4.1MB 90ms 0ms crystal 1.9.0
v 2.v 116ms 0.7ms 4.0MB 100ms 0ms v/clang+gc 0.4.0
zig 1.zig 117ms 0.6ms 11.1MB 107ms 0ms zig 0.11.0-dev.3978+711b4e93e
v 2.v 117ms 0.6ms 4.1MB 107ms 0ms v/clang 0.4.0
odin 1.odin 122ms 0.7ms 11.3MB 110ms 0ms odin 2023
c 1.c 123ms 3.8ms 11.6MB 107ms 0ms clang 14.0.0
v 1.v 124ms 4.9ms 20.2MB 113ms 0ms v/clang+gc 0.4.0
c 1.c 124ms 3.7ms 11.0MB 107ms 0ms zigcc 0.11.0-dev.3978+711b4e93e
rust 1.rs 124ms 4.5ms 11.6MB 110ms 0ms rustc 1.70.0
v 1.v 126ms 4.9ms 20.8MB 110ms 0ms v/clang 0.4.0
c 1.c 127ms 4.4ms 11.7MB 117ms 0ms gcc 13.1.0
d 1.d 128ms 3.5ms 13.9MB 117ms 0ms ldc2 1.32.2
nim 1.nim 129ms 0.5ms 11.0MB 120ms 0ms nim 1.6.14
go 1.go 136ms 2.3ms 21.5MB 117ms 0ms go 1.20.6
nim 1.nim 136ms 0.4ms 11.3MB 123ms 0ms nim/clang 1.6.14
go 1.go 138ms 4.4ms 13.4MB 127ms 0ms tinygo 0.28.1
d 1.d 139ms 1.0ms 23.8MB 127ms 0ms dmd 2.104.1
crystal 1.cr 140ms 4.1ms 13.0MB 127ms 0ms crystal 1.9.0
wasm 2.rs 142ms 0.1ms 17.4MB 127ms 0ms wasmtime 10.0.1
nim 2.nim 142ms 1.0ms 3.3MB 130ms 0ms nim/clang 1.6.14
wasm 2.rs 142ms 2.1ms 29.2MB 127ms 3ms wasmedgec 0.13.1
wasm 1.rs 145ms 0.5ms 25.9MB 130ms 0ms wasmtime 10.0.1
csharp 1.cs 146ms 4.5ms 29.8MB 140ms 0ms dotnet/aot 7.0.306
nim 2.nim 148ms 0.7ms 3.0MB 140ms 0ms nim 1.6.14
wasm 1.rs 149ms 3.2ms 40.5MB 130ms 3ms wasmedgec 0.13.1
codon 1.py 150ms 1.1ms 15.1MB 140ms 0ms codon 0.16.2
go 2.go 153ms 3.0ms 5.6MB 143ms 0ms tinygo 0.28.1
cpp 1.cpp 153ms 0.2ms 3.5MB 140ms 0ms g++ 11.3.0
cpp 1.cpp 170ms 0.3ms 3.9MB 160ms 0ms clang++ 14.0.0
csharp 1.cs 185ms 0.9ms 40.7MB 163ms 7ms mono 6.12.0
csharp 2.cs 190ms 2.0ms 15.3MB 187ms 0ms dotnet/aot 7.0.306
codon 2.py 202ms 0.9ms 25.6MB 183ms 7ms codon 0.16.2
d 2.d 212ms 0.9ms 15.0MB 200ms 0ms ldc2 1.32.2
go 2.go 217ms 1.8ms 7.3MB 207ms 0ms go 1.20.6
julia 1.jl 236ms 5.2ms 200.7MB 150ms 70ms julia/aot 1.9.2
java 1.java 240ms 8.0ms 59.6MB 257ms 23ms openjdk 22
java 1.java 241ms 1.4ms 58.8MB 257ms 20ms openjdk 20
csharp 2.cs 272ms 2.7ms 28.1MB 233ms 7ms dotnet 7.0.306
odin 2.odin 290ms 0.5ms 2.5MB 280ms 0ms odin 2023
java 1.java 290ms 3.0ms 59.3MB 263ms 63ms openjdk/zgc 20
wasm 2.rs 298ms 1.7ms 49.2MB 280ms 10ms node 18.16.1
java 2.java 327ms 5.8ms 45.0MB 350ms 17ms openjdk 20
java 2.java 330ms 7.5ms 47.6MB 350ms 17ms openjdk 22
csharp 1.cs 336ms 2.1ms 44.3MB 293ms 13ms dotnet 7.0.306
java 1-m.java 339ms 12ms 151.2MB 477ms 40ms graal/jvm 17.0.7
ocaml 1.ml 339ms 11ms 140.3MB 307ms 17ms ocaml 5.0.0
wasm 1.rs 349ms 2.5ms 58.9MB 333ms 7ms node 18.16.1
java 2.java 360ms 6.3ms 44.3MB 340ms 53ms openjdk/zgc 20
d 2.d 380ms 1.6ms 17.3MB 363ms 0ms dmd 2.104.1
csharp 2.cs 605ms 1.1ms 25.5MB 583ms 7ms mono 6.12.0
ocaml 2.ml 609ms 28ms 9.1MB 590ms 0ms ocaml 5.0.0
java 2-m.java 623ms 7.0ms 150.9MB 1083ms 63ms graal/jvm 17.0.7
python 1.py 883ms 15ms 213.0MB 840ms 30ms pypy 3.10.12
python 2.py 1136ms 6.5ms 164.4MB 1070ms 50ms pyston 3.8.12
python 2.py 1412ms 11ms 266.7MB 1277ms 117ms pypy 3.10.12
python 1.py 1677ms 20ms 86.1MB 1640ms 23ms pyston 3.8.12
python 2.py 1697ms 29ms 164.8MB 1647ms 37ms cpython 3.11.4
python 1.py 2679ms 11ms 86.8MB 2640ms 20ms cpython 3.11.4
ruby 1.rb 2793ms 82ms 427.2MB 3267ms 127ms truffleruby 22.3.1
ruby 1.rb timeout 0.0ms 151.0MB 4927ms 50ms ruby 3.2.2
ruby 1.rb timeout 0.0ms 151.4MB 4923ms 60ms ruby/yjit 3.2.2