All nsieve problem benchmarks

Current benchmark data was generated on Fri Jul 01 2022, full log can be found HERE


[x86_64][2 cores] Intel(R) Xeon(R) Platinum 8171M CPU @ 2.60GHz (Model 85)

* -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.)


Input: 12

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
cpp 1.cpp 469ms 1.4ms 7.5MB 453ms 0ms clang++ 11.0.0
zig 2.zig 473ms 13ms 4.9MB 460ms 0ms zig 0.10.0-dev.2820+48fd92365
crystal 535ms 0.6ms 8.2MB 517ms 0ms crystal 1.4.1
rust 575ms 8.8ms 6.7MB 563ms 0ms rustc 1.62.0
wasm 607ms 0.7ms 10.1MB 587ms 3ms wasmer/llvm 2.3.0
v 2.v 608ms 3.2ms 6.8MB 593ms 0ms v/clang+gc 0.3.0
v 2.v 609ms 5.0ms 7.0MB 593ms 0ms v/clang 0.3.0
wasm 709ms 0.8ms 10.1MB 693ms 0ms wasmedgec 0.10.0
julia 1.jl 732ms 23ms 206.9MB 663ms 177ms julia 1.7.3
cpp 1.cpp 785ms 3.8ms 7.8MB 767ms 0ms g++ 12.1.0
nim 2.nim 798ms 9.7ms 6.7MB 783ms 0ms nim/clang 1.6.6
go 2.go 948ms 6.9ms 17.1MB 933ms 0ms tinygo 0.23.0
nim 2.nim 951ms 2.6ms 6.0MB 937ms 0ms nim 1.6.6
v 1.v 999ms 8.9ms 41.2MB 973ms 7ms v/clang 0.3.0
v 1.v 1007ms 33ms 41.2MB 987ms 7ms v/clang+gc 0.3.0
wasm 1023ms 41ms 47.7MB 1033ms 7ms node 16.15.1
d 2.d 1057ms 7.0ms 48.7MB 1023ms 17ms ldc2 1.29.0
rust 1125ms 29ms 40.9MB 1097ms 13ms rustc 1.62.0
odin 1.odin 1134ms 17ms 40.6MB 1103ms 10ms odin 2022
wasm 1136ms 72ms 46.2MB 1110ms 10ms wasmedgec 0.10.0
c 1.c 1151ms 25ms 40.7MB 1103ms 33ms clang 11.0.0
java 1159ms 12ms 54.3MB 1230ms 17ms openjdk 19
wasm 1162ms 15ms 44.4MB 1117ms 27ms wasmer/llvm 2.3.0
d 1.d 1165ms 35ms 43.8MB 1133ms 17ms ldc2 1.29.0
zig 1.zig 1177ms 12ms 39.1MB 1137ms 23ms zig 0.10.0-dev.2820+48fd92365
wasm 1182ms 12ms 15.6MB 1163ms 0ms wasmtime 0.38.1
go 1.go 1191ms 49ms 73.6MB 1153ms 23ms go 1.18.3
nim 1.nim 1200ms 80ms 40.9MB 1173ms 10ms nim 1.6.6
nim 1.nim 1213ms 22ms 41.3MB 1187ms 7ms nim/clang 1.6.6
d 1.d 1225ms 11ms 75.3MB 1190ms 20ms dmd 2.100.0
java 1236ms 19ms 49.0MB 1280ms 20ms openjdk 18.0.1
go 2.go 1237ms 14ms 20.2MB 1220ms 13ms go 1.18.3
odin 2.odin 1263ms 5.9ms 6.4MB 1250ms 0ms odin 2022
c 1.c 1277ms 29ms 41.1MB 1240ms 20ms gcc 12.1.0
go 1.go 1306ms 32ms 42.8MB 1283ms 3ms tinygo 0.23.0
csharp 2.cs 1310ms 0.5ms 36.1MB 1273ms 7ms dotnet 6.0.301
csharp 1.cs 1314ms 49ms 91.9MB 1257ms 27ms dotnet 6.0.301
wasm 1334ms 60ms 81.8MB 1343ms 13ms node 16.15.1
c 1.c 1339ms 54ms 40.2MB 1307ms 13ms zigcc 0.10.0-dev.2820+48fd92365
java 1345ms 73ms 47.1MB 1327ms 73ms openjdk/zgc 18.0.1
crystal 1373ms 15ms 42.4MB 1347ms 10ms crystal 1.4.1
csharp 1.cs 1468ms 24ms 88.7MB 1427ms 27ms mono 6.12.0
java 1577ms 40ms 109.1MB 1503ms 123ms openjdk/zgc 18.0.1
java 1730ms 58ms 84.4MB 1757ms 37ms openjdk 19
wasm 1847ms 16ms 49.8MB 1820ms 10ms wasmtime 0.38.1
java 1934ms 40ms 168.9MB 2797ms 83ms graal/jvm 17.0.3
java 1981ms 69ms 82.4MB 1990ms 47ms openjdk 18.0.1
d 2.d 2117ms 16ms 49.4MB 2083ms 17ms dmd 2.100.0
java 2559ms 41ms 136.1MB 4713ms 97ms graal/jvm 17.0.3
ocaml 2622ms 6.6ms 554.8MB 2447ms 157ms ocaml 4.14.0
ocaml 3173ms 40ms 20.2MB 3150ms 10ms ocaml 4.14.0
csharp 2.cs 3449ms 45ms 32.4MB 3430ms 0ms mono 6.12.0
python timeout 0.0ms 0.0MB 0ms 0ms cpython 3.10.5
python timeout 0.0ms 0.0MB 0ms 0ms pypy 3.8.13
python timeout 0.0ms 0.0MB 0ms 0ms pyston 3.8.12
ruby 1.rb timeout 0.0ms 0.0MB 0ms 0ms ruby 3.1.2
ruby 1.rb timeout 0.0ms 0.0MB 0ms 0ms ruby/yjit 3.1.2
ruby 1.rb timeout 0.0ms 0.0MB 0ms 0ms truffleruby 22.1.0

Input: 10

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
zig 2.zig 97ms 0.4ms 1.1MB 90ms 0ms zig 0.10.0-dev.2820+48fd92365
cpp 1.cpp 101ms 1.7ms 3.8MB 90ms 0ms clang++ 11.0.0
crystal 121ms 1.2ms 4.4MB 110ms 0ms crystal 1.4.1
v 1.v 130ms 0.8ms 19.5MB 110ms 3ms v/clang 0.3.0
zig 1.zig 131ms 4.3ms 9.6MB 117ms 0ms zig 0.10.0-dev.2820+48fd92365
rust 131ms 5.4ms 3.2MB 120ms 0ms rustc 1.62.0
v 1.v 135ms 2.9ms 19.3MB 120ms 0ms v/clang+gc 0.3.0
v 2.v 135ms 0.9ms 3.3MB 123ms 0ms v/clang+gc 0.3.0
v 2.v 136ms 2.1ms 3.3MB 123ms 0ms v/clang 0.3.0
wasm 141ms 4.4ms 6.7MB 127ms 0ms wasmer/llvm 2.3.0
c 1.c 145ms 2.8ms 11.7MB 133ms 0ms clang 11.0.0
c 1.c 146ms 3.8ms 10.9MB 133ms 0ms zigcc 0.10.0-dev.2820+48fd92365
go 1.go 147ms 4.7ms 22.0MB 130ms 3ms go 1.18.3
nim 1.nim 147ms 3.8ms 11.6MB 130ms 0ms nim/clang 1.6.6
rust 148ms 2.4ms 11.5MB 133ms 0ms rustc 1.62.0
odin 1.odin 151ms 9.3ms 11.3MB 130ms 0ms odin 2022
c 1.c 152ms 5.7ms 11.8MB 133ms 0ms gcc 12.1.0
d 1.d 156ms 3.2ms 13.8MB 140ms 0ms ldc2 1.29.0
nim 1.nim 159ms 6.5ms 11.4MB 147ms 0ms nim 1.6.6
wasm 162ms 3.3ms 6.5MB 150ms 0ms wasmedgec 0.10.0
wasm 166ms 2.4ms 15.1MB 153ms 0ms wasmedgec 0.10.0
go 1.go 171ms 3.7ms 13.9MB 157ms 0ms tinygo 0.23.0
crystal 173ms 4.8ms 12.9MB 160ms 0ms crystal 1.4.1
wasm 174ms 1.9ms 15.6MB 150ms 10ms wasmer/llvm 2.3.0
d 1.d 184ms 4.8ms 23.4MB 167ms 0ms dmd 2.100.0
nim 2.nim 186ms 2.2ms 3.3MB 170ms 0ms nim/clang 1.6.6
cpp 1.cpp 187ms 10ms 4.0MB 177ms 0ms g++ 12.1.0
csharp 1.cs 220ms 12ms 47.7MB 173ms 13ms dotnet 6.0.301
csharp 1.cs 223ms 4.0ms 42.5MB 203ms 3ms mono 6.12.0
go 2.go 223ms 0.7ms 5.6MB 210ms 0ms tinygo 0.23.0
nim 2.nim 223ms 3.7ms 3.0MB 213ms 0ms nim 1.6.6
d 2.d 247ms 1.5ms 15.6MB 223ms 7ms ldc2 1.29.0
wasm 256ms 8.7ms 20.5MB 240ms 0ms wasmtime 0.38.1
go 2.go 283ms 9.0ms 7.5MB 270ms 0ms go 1.18.3
wasm 285ms 3.2ms 11.9MB 270ms 0ms wasmtime 0.38.1
wasm 295ms 9.6ms 52.7MB 310ms 7ms node 16.15.1
odin 2.odin 307ms 5.5ms 2.8MB 293ms 0ms odin 2022
wasm 321ms 8.2ms 45.4MB 333ms 10ms node 16.15.1
java 336ms 16ms 59.1MB 380ms 17ms openjdk 18.0.1
java 344ms 13ms 59.8MB 383ms 23ms openjdk 19
csharp 2.cs 361ms 1.9ms 31.7MB 320ms 10ms dotnet 6.0.301
java 370ms 2.6ms 50.3MB 413ms 27ms openjdk 19
java 377ms 17ms 57.4MB 340ms 90ms openjdk/zgc 18.0.1
java 385ms 5.5ms 43.0MB 433ms 20ms openjdk 18.0.1
java 460ms 12ms 43.5MB 437ms 83ms openjdk/zgc 18.0.1
julia 1.jl 486ms 12ms 199.5MB 427ms 170ms julia 1.7.3
d 2.d 523ms 2.4ms 16.6MB 503ms 3ms dmd 2.100.0
ocaml 580ms 7.2ms 141.9MB 527ms 37ms ocaml 4.14.0
java 717ms 8.5ms 138.8MB 570ms 60ms graal/jvm 17.0.3
ocaml 747ms 9.5ms 8.9MB 733ms 0ms ocaml 4.14.0
csharp 2.cs 841ms 13ms 25.8MB 817ms 7ms mono 6.12.0
java 1106ms 6.4ms 131.5MB 1490ms 77ms graal/jvm 17.0.3
python 1455ms 43ms 209.7MB 1380ms 53ms pypy 3.8.13
python 2723ms 75ms 86.0MB 2663ms 40ms pyston 3.8.12
python timeout 0.0ms 0.0MB 0ms 0ms cpython 3.10.5
ruby 1.rb timeout 0.0ms 0.0MB 0ms 0ms ruby 3.1.2
ruby 1.rb timeout 0.0ms 0.0MB 0ms 0ms ruby/yjit 3.1.2
ruby 1.rb timeout 0.0ms 0.0MB 0ms 0ms truffleruby 22.1.0