All pidigits 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.)

pidigits

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
chapel 2.chpl 596ms 3.6ms 34.1MB 577ms 3ms chpl 1.31.0
go 8.go 1388ms 2.0ms 8.5MB 1373ms 0ms go 1.20.6
rust 2.rs 1748ms 0.4ms 2.8MB 1683ms 47ms rustc 1.70.0
dart 2.dart 1816ms 12ms 21.8MB 1733ms 53ms dart/exe 3.0.6
rust 1.rs 1879ms 1.5ms 2.8MB 1703ms 163ms rustc 1.70.0
zig 1.zig 2115ms 3.9ms 2.4MB 2087ms 13ms zig 0.11.0-dev.3978+711b4e93e
python 4.py 2543ms 2.7ms 117.0MB 2500ms 27ms pypy 3.10.12
crystal 1.cr 2576ms 68ms 6.6MB 2557ms 3ms crystal 1.9.0
wasm 2.rs 2761ms 9.1ms 28.6MB 2740ms 3ms wasmedgec 0.13.1
python 4.py 2776ms 0.4ms 9.1MB 2743ms 17ms pyston 3.8.12
python 4.py 2798ms 0.7ms 9.4MB 2747ms 33ms cpython 3.11.4
wasm 2.rs 3088ms 0.8ms 17.2MB 3077ms 0ms wasmtime 10.0.1
wasm 2.rs 3251ms 2.8ms 53.8MB 3257ms 10ms node 18.16.1
d 1.d 3471ms 19ms 7.9MB 3450ms 17ms ldc2 1.32.2
v 1.v 3883ms 46ms 3.0MB 3857ms 10ms v/clang+gc 0.4.0
csharp 1.cs 4565ms 6.9ms 76.2MB 4533ms 40ms dotnet/aot 7.0.306
csharp 1.cs 4718ms 42ms 98.2MB 4653ms 87ms dotnet 7.0.306
java 1.java 4975ms 15ms 338.9MB 5350ms 67ms graal/jvm 17.0.7
acton 1.act timeout 0.0ms 12.2MB 5747ms 627ms actonc 0.16.0
d 1.d timeout 0.0ms 9.9MB 4983ms 7ms dmd 2.104.1
java 1.java timeout 0.0ms 299.0MB 5433ms 90ms openjdk 20
java 1.java timeout 0.0ms 285.3MB 5593ms 80ms openjdk 22
java 1.java timeout 0.0ms 1177.0MB 5083ms 597ms openjdk/zgc 20
javascript 3.js timeout 0.0ms 77.2MB 4353ms 647ms node 20.4.0
kotlin 1.kt timeout 0.0ms 235.7MB 5407ms 70ms kotlin/jvm 17.0.2
kotlin 1n.kt timeout 0.0ms 22.7MB 6417ms 167ms kotlin/native 1.8.21
kotlin 2n.kt timeout 0.0ms 8.2MB 5040ms 90ms kotlin/native 1.8.21
nim 1.nim timeout 0.0ms 6.0MB 4990ms 0ms nim/clang 1.6.14
nim 1.nim timeout 0.0ms 5.9MB 4990ms 0ms nim 1.6.14
ruby 1.rb timeout 0.0ms 159.2MB 4917ms 60ms ruby 3.2.2
ruby 1.rb timeout 0.0ms 159.8MB 4930ms 57ms ruby/yjit 3.2.2
ruby 1.rb timeout 0.0ms 416.1MB 9323ms 203ms truffleruby 22.3.1
swift 1.swift timeout 0.0ms 6.7MB 4957ms 17ms swift 5.8.1
typescript 3.ts timeout 0.0ms 87.8MB 4970ms 27ms deno 1.35.1
v 2.v timeout 0.0ms 3.3MB 4987ms 0ms v/clang+gc 0.4.0
v 1.v timeout 0.0ms 4.0MB 4983ms 0ms v/clang 0.4.0

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
chapel 2.chpl 156ms 3.1ms 34.1MB 147ms 0ms chpl 1.31.0
go 8.go 334ms 0.9ms 8.5MB 320ms 0ms go 1.20.6
rust 2.rs 389ms 0.2ms 2.4MB 377ms 0ms rustc 1.70.0
rust 1.rs 399ms 0.5ms 2.5MB 380ms 3ms rustc 1.70.0
dart 2.dart 465ms 5.5ms 20.0MB 403ms 37ms dart/exe 3.0.6
zig 1.zig 488ms 0.5ms 2.0MB 477ms 0ms zig 0.11.0-dev.3978+711b4e93e
crystal 1.cr 583ms 11ms 5.4MB 570ms 0ms crystal 1.9.0
python 4.py 631ms 3.2ms 81.5MB 603ms 13ms pypy 3.10.12
wasm 2.rs 652ms 3.8ms 28.8MB 637ms 0ms wasmedgec 0.13.1
python 4.py 657ms 0.1ms 8.9MB 647ms 0ms pyston 3.8.12
python 4.py 666ms 0.5ms 9.1MB 653ms 0ms cpython 3.11.4
wasm 2.rs 727ms 1.0ms 16.9MB 710ms 0ms wasmtime 10.0.1
wasm 2.rs 815ms 2.2ms 54.6MB 827ms 13ms node 18.16.1
d 1.d 827ms 1.5ms 7.9MB 813ms 3ms ldc2 1.32.2
v 1.v 964ms 7.4ms 2.8MB 950ms 0ms v/clang+gc 0.4.0
csharp 1.cs 1086ms 9.4ms 75.7MB 1067ms 17ms dotnet/aot 7.0.306
csharp 1.cs 1163ms 10ms 94.9MB 1150ms 40ms dotnet 7.0.306
java 1.java 1328ms 19ms 352.8MB 1673ms 63ms graal/jvm 17.0.7
v 1.v 1413ms 27ms 2.9MB 1393ms 0ms v/clang 0.4.0
java 1.java 1448ms 18ms 250.9MB 1840ms 73ms openjdk 20
kotlin 1.kt 1452ms 7.6ms 216.7MB 1817ms 63ms kotlin/jvm 17.0.2
java 1.java 1460ms 5.9ms 305.3MB 1907ms 63ms openjdk 22
typescript 3.ts 1520ms 21ms 64.7MB 1457ms 57ms deno 1.35.1
javascript 3.js 1642ms 5.5ms 60.9MB 1547ms 107ms node 20.4.0
d 1.d 1739ms 3.6ms 9.9MB 1727ms 0ms dmd 2.104.1
v 2.v 1802ms 7.2ms 3.1MB 1783ms 0ms v/clang+gc 0.4.0
ruby 1-m.rb 1948ms 37ms 408.1MB 3603ms 127ms truffleruby 22.3.1
java 1.java 1985ms 21ms 968.9MB 1903ms 623ms openjdk/zgc 20
ruby 1.rb 2372ms 5.3ms 159.8MB 2293ms 67ms ruby/yjit 3.2.2
ruby 1.rb 2392ms 10.0ms 159.3MB 2323ms 53ms ruby 3.2.2
swift 1.swift 2426ms 2.9ms 6.3MB 2410ms 0ms swift 5.8.1
acton 1.act 2512ms 118ms 8.3MB 2777ms 297ms actonc 0.16.0
kotlin 1n.kt timeout 0.0ms 26.7MB 6497ms 150ms kotlin/native 1.8.21
kotlin 2n.kt timeout 0.0ms 10.6MB 5027ms 107ms kotlin/native 1.8.21
nim 1.nim timeout 0.0ms 6.1MB 4983ms 0ms nim/clang 1.6.14
nim 1.nim timeout 0.0ms 5.8MB 4990ms 0ms nim 1.6.14