All nsieve problem benchmarks

Current benchmark data was generated on Thu Feb 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 273ms 3.3ms 40.3MB 257ms 0ms zig 0.12.0-dev.2341+92211135f
nim 1.nim 282ms 2.6ms 41.5MB 270ms 0ms nim 2.0.2
c 1.c 283ms 1.3ms 41.1MB 267ms 0ms gcc 13.2.0
c 1.c 287ms 7.5ms 40.8MB 273ms 0ms clang 14.0.0-1ubuntu1.1
odin 1.odin 291ms 4.7ms 40.6MB 270ms 3ms odin 2024
c 1.c 295ms 2.4ms 40.3MB 273ms 3ms zigcc 0.12.0-dev.2341+92211135f
go 1.go 311ms 4.6ms 72.5MB 297ms 0ms go 1.21.6
d 1.d 315ms 1.5ms 43.8MB 300ms 3ms ldc2 1.36.0
v 2.v 328ms 2.8ms 6.9MB 317ms 0ms v/clang+gc 0.4.4
rust 1.rs 329ms 1.6ms 41.1MB 313ms 3ms rustc 1.75.0
v 2.v 330ms 3.2ms 6.1MB 317ms 0ms v/clang 0.4.4
go 1.go 331ms 2.1ms 42.8MB 320ms 0ms tinygo 0.30.0
zig 2.zig 335ms 1.6ms 6.1MB 323ms 0ms zig 0.12.0-dev.2341+92211135f
rust 2.rs 336ms 5.8ms 6.8MB 327ms 0ms rustc 1.75.0
d 1.d 340ms 4.4ms 77.1MB 320ms 7ms dmd 2.106.1
v 1.v 343ms 6.3ms 40.3MB 320ms 5ms v/clang 0.4.4
v 1.v 343ms 10ms 41.2MB 333ms 0ms v/clang+gc 0.4.4
csharp 1.cs 346ms 5.2ms 101.3MB 303ms 10ms dotnet 8.0.101
wasm 2.rs 346ms 3.4ms 23.8MB 337ms 0ms wasmtime 17.0.0
nim 1.nim 351ms 9.9ms 41.8MB 337ms 0ms nim/clang 2.0.2
csharp 1.cs 353ms 5.9ms 55.6MB 340ms 3ms dotnet/aot 8.0.101
crystal 1.cr 380ms 2.1ms 42.7MB 363ms 0ms crystal 1.11.2
crystal 2.cr 381ms 2.1ms 8.4MB 370ms 0ms crystal 1.11.2
java 1.java 397ms 1.3ms 117.2MB 443ms 20ms openjdk 23
java 1.java 403ms 8.1ms 114.9MB 447ms 30ms openjdk 21
codon 1.py 406ms 0.9ms 46.5MB 390ms 0ms codon 0.16.3
csharp 2.cs 427ms 2.0ms 21.2MB 423ms 3ms dotnet/aot 8.0.101
go 2.go 437ms 5.1ms 17.8MB 427ms 0ms tinygo 0.30.0
csharp 2.cs 441ms 0.4ms 41.7MB 397ms 13ms dotnet 8.0.101
codon 2.py 482ms 8.3ms 107.0MB 463ms 13ms codon 0.16.3
cpp 1.cpp 484ms 2.6ms 7.3MB 470ms 0ms g++ 11.4.0
wasm 1.rs 515ms 31ms 57.9MB 500ms 3ms wasmtime 17.0.0
cpp 1.cpp 526ms 2.3ms 7.8MB 513ms 0ms clang++ 14.0.0-1ubuntu1.1
csharp 1.cs 544ms 3.3ms 86.6MB 520ms 13ms mono 6.12.0
java 1.java 581ms 2.7ms 114.6MB 473ms 177ms openjdk/zgc 21
wasm 2.rs 589ms 5.8ms 54.8MB 580ms 3ms node 18.19.0
java 1-m.java 638ms 11ms 234.0MB 917ms 77ms graal/jvm 17.0.8
go 2.go 740ms 3.8ms 21.7MB 723ms 3ms go 1.21.6
java 2.java 779ms 1.6ms 59.3MB 827ms 23ms openjdk 23
java 2.java 781ms 0.5ms 57.3MB 837ms 23ms openjdk 21
odin 2.odin 811ms 3.6ms 6.5MB 797ms 3ms odin 2024
d 2.d 812ms 0.6ms 47.7MB 787ms 10ms ldc2 1.36.0
wasm 1.rs 812ms 6.1ms 89.4MB 797ms 17ms node 18.19.0
java 2.java 849ms 14ms 52.9MB 773ms 150ms openjdk/zgc 21
ocaml 1.ml 989ms 6.1ms 550.4MB 923ms 50ms ocaml 5.1.1
d 2.d 1117ms 1.8ms 49.3MB 1093ms 7ms dmd 2.106.1
java 2-m.java 1353ms 17ms 264.4MB 2427ms 100ms graal/jvm 17.0.8
csharp 2.cs 1861ms 11ms 29.9MB 1843ms 0ms mono 6.12.0
ocaml 2.ml 2043ms 6.1ms 18.5MB 2030ms 0ms ocaml 5.1.1
python 2.py 3061ms 79ms 632.9MB 2887ms 157ms pyston 3.8.12
python 1.py 3479ms 37ms 366.2MB 3410ms 50ms pypy 3.10.13
python 1.py 4862ms 92ms 320.5MB 4807ms 47ms pyston 3.8.12
python 2.py 4871ms 47ms 634.1MB 4697ms 160ms cpython 3.12.1
python 1.py timeout 0.0ms 321.7MB 4963ms 23ms cpython 3.12.1
python 2.py timeout 0.0ms 956.8MB 4737ms 247ms pypy 3.10.13
ruby 1.rb timeout 0.0ms 340.6MB 4840ms 150ms ruby 3.3.0
ruby 1.rb timeout 0.0ms 342.0MB 4843ms 140ms ruby/yjit 3.3.0
ruby 1.rb timeout 0.0ms 743.0MB 5043ms 167ms truffleruby 23.1.2

Input: 10

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
c 1.c 54ms 0.5ms 11.8MB 40ms 0ms gcc 13.2.0
zig 1.zig 55ms 1.5ms 11.0MB 47ms 0ms zig 0.12.0-dev.2341+92211135f
nim 1.nim 56ms 1.3ms 11.5MB 47ms 0ms nim 2.0.2
odin 1.odin 56ms 0.9ms 11.3MB 43ms 0ms odin 2024
c 1.c 58ms 1.7ms 11.5MB 47ms 0ms clang 14.0.0-1ubuntu1.1
c 1.c 59ms 1.3ms 11.0MB 47ms 0ms zigcc 0.12.0-dev.2341+92211135f
go 1.go 62ms 1.2ms 21.6MB 47ms 0ms go 1.21.6
v 1.v 62ms 1.0ms 11.9MB 50ms 0ms v/clang+gc 0.4.4
rust 1.rs 65ms 3.6ms 11.6MB 50ms 0ms rustc 1.75.0
nim 1.nim 65ms 1.0ms 11.8MB 53ms 0ms nim/clang 2.0.2
d 1.d 65ms 0.3ms 13.8MB 53ms 0ms ldc2 1.36.0
v 1.v 65ms 1.7ms 11.0MB 50ms 0ms v/clang 0.4.4
go 1.go 66ms 1.0ms 12.6MB 53ms 0ms tinygo 0.30.0
d 1.d 73ms 2.1ms 23.8MB 63ms 0ms dmd 2.106.1
crystal 1.cr 80ms 1.2ms 13.3MB 70ms 0ms crystal 1.11.2
codon 1.py 81ms 2.0ms 17.2MB 70ms 0ms codon 0.16.3
v 2.v 81ms 1.2ms 2.5MB 70ms 0ms v/clang 0.4.4
csharp 1.cs 81ms 1.1ms 23.9MB 70ms 7ms dotnet/aot 8.0.101
zig 2.zig 82ms 1.3ms 2.4MB 70ms 0ms zig 0.12.0-dev.2341+92211135f
v 2.v 82ms 1.1ms 3.1MB 70ms 0ms v/clang+gc 0.4.4
rust 2.rs 85ms 1.0ms 3.0MB 70ms 0ms rustc 1.75.0
wasm 2.rs 90ms 1.5ms 20.0MB 70ms 0ms wasmtime 17.0.0
crystal 2.cr 93ms 0.9ms 4.8MB 80ms 0ms crystal 1.11.2
wasm 1.rs 107ms 11ms 28.7MB 90ms 3ms wasmtime 17.0.0
go 2.go 110ms 2.0ms 4.6MB 100ms 0ms tinygo 0.30.0
codon 2.py 110ms 3.4ms 26.0MB 97ms 3ms codon 0.16.3
csharp 2.cs 111ms 0.4ms 18.2MB 110ms 0ms dotnet/aot 8.0.101
csharp 1.cs 114ms 3.7ms 49.8MB 77ms 7ms dotnet 8.0.101
cpp 1.cpp 120ms 1.4ms 3.6MB 110ms 0ms g++ 11.4.0
cpp 1.cpp 131ms 1.3ms 4.1MB 120ms 0ms clang++ 14.0.0-1ubuntu1.1
csharp 1.cs 144ms 0.9ms 40.8MB 127ms 7ms mono 6.12.0
csharp 2.cs 153ms 1.7ms 35.4MB 117ms 7ms dotnet 8.0.101
java 1.java 158ms 3.3ms 67.3MB 207ms 20ms openjdk 23
java 1.java 162ms 8.7ms 64.7MB 203ms 27ms openjdk 21
wasm 2.rs 173ms 1.8ms 51.1MB 167ms 0ms node 18.19.0
go 2.go 181ms 1.7ms 7.2MB 170ms 0ms go 1.21.6
wasm 1.rs 184ms 0.9ms 59.9MB 160ms 17ms node 18.19.0
odin 2.odin 200ms 0.3ms 2.8MB 190ms 0ms odin 2024
d 2.d 202ms 0.7ms 15.7MB 183ms 3ms ldc2 1.36.0
ocaml 1.ml 212ms 19ms 139.7MB 190ms 7ms ocaml 5.1.1
java 1-m.java 214ms 20ms 137.5MB 287ms 60ms graal/jvm 17.0.8
java 2.java 257ms 0.4ms 49.6MB 293ms 30ms openjdk 23
java 2.java 257ms 3.8ms 49.8MB 313ms 23ms openjdk 21
d 2.d 280ms 1.1ms 17.4MB 267ms 3ms dmd 2.106.1
java 1.java 284ms 4.8ms 63.3MB 210ms 143ms openjdk/zgc 21
java 2.java 365ms 2.0ms 49.3MB 307ms 137ms openjdk/zgc 21
csharp 2.cs 482ms 4.0ms 25.5MB 467ms 0ms mono 6.12.0
ocaml 2.ml 502ms 3.3ms 9.0MB 487ms 0ms ocaml 5.1.1
java 2-m.java 582ms 94ms 203.7MB 1050ms 63ms graal/jvm 17.0.8
python 1.py 698ms 9.1ms 131.7MB 667ms 17ms pypy 3.10.13
python 2.py 735ms 2.3ms 164.3MB 690ms 23ms pyston 3.8.12
python 1.py 1113ms 6.9ms 86.0MB 1087ms 7ms pyston 3.8.12
python 2.py 1213ms 1.8ms 165.4MB 1170ms 30ms cpython 3.12.1
ruby 1-m.rb 1665ms 20ms 472.9MB 2357ms 177ms truffleruby 23.1.2
python 1.py 2241ms 84ms 87.3MB 2217ms 10ms cpython 3.12.1
python 2.py 2612ms 31ms 283.0MB 2523ms 77ms pypy 3.10.13
ruby 1.rb 3530ms 47ms 146.6MB 3423ms 87ms ruby/yjit 3.3.0
ruby 1.rb 4855ms 12ms 146.4MB 4753ms 83ms ruby 3.3.0