All knucleotide problem benchmarks

Current benchmark data was generated on Sun Jan 29 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.)

knucleotide

Input: 2500000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
c 1-m.c 249ms 1.4ms 23.5MB 413ms 7ms gcc 12.2.0
rust 8-m.rs 320ms 3.2ms 29.2MB 560ms 3ms rustc 1.67.0
c 1-m.c 489ms 15ms 20.4MB 847ms 20ms clang 14.0.0
rust 8.rs 595ms 3.2ms 24.0MB 577ms 0ms rustc 1.67.0
odin 1-m.odin 845ms 5.5ms 46.0MB 1473ms 43ms odin 2023
csharp 6-m.cs 949ms 4.6ms 55.7MB 1473ms 27ms dotnet/aot 7.0.102
chapel 3-m.chpl 1017ms 73ms 88.2MB 1800ms 30ms chpl 1.29.0
d 1-m.d 1088ms 23ms 51.1MB 1943ms 13ms ldc2 1.30.0
julia 8.jl 1118ms 9.1ms 273.3MB 1470ms 157ms julia 1.8.5
zig 1.zig 1137ms 8.5ms 25.7MB 1103ms 17ms zig 0.11.0-dev.1480+f68d3c63d
csharp 6-m.cs 1221ms 45ms 144.2MB 1960ms 47ms dotnet 7.0.102
java 3-m.java 1430ms 19ms 115.1MB 2607ms 33ms openjdk 20
java 3-m.java 1469ms 22ms 115.8MB 2673ms 37ms openjdk 19
go 7-m.go 1498ms 12ms 42.0MB 2803ms 20ms go 1.19.5
java 3-m.java 1527ms 56ms 169.6MB 2787ms 50ms graal/jvm 17.0.6
csharp 6-m.cs 1658ms 166ms 71.3MB 2560ms 20ms mono 6.12.0
java 3-m.java 1925ms 14ms 173.7MB 3393ms 130ms openjdk/zgc 19
swift 2-m.swift 2299ms 439ms 52.3MB 3857ms 27ms swift 5.7.3
dart 3-m.dart 2550ms 83ms 253.5MB 4280ms 90ms dart/exe 2.19.0
python 3-m.py 3451ms 24ms 204.9MB 6053ms 317ms pypy 3.9.16
d 1-m.d 4122ms 159ms 53.1MB 7417ms 13ms dmd 2.101.2
python 3-m.py 4892ms 85ms 34.3MB 9350ms 50ms pyston 3.8.12
python 3.py timeout 0.0ms 35.0MB 90ms 10ms cpython 3.11.1

Input: 250000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
c 1.c 36ms 1.1ms 12.8MB 47ms 0ms gcc 12.2.0
rust 8-m.rs 47ms 3.1ms 16.4MB 57ms 3ms rustc 1.67.0
c 1.c 59ms 2.8ms 9.7MB 87ms 0ms clang 14.0.0
rust 8.rs 76ms 3.3ms 11.5MB 60ms 3ms rustc 1.67.0
zig 1.zig 128ms 0.9ms 7.4MB 113ms 0ms zig 0.11.0-dev.1480+f68d3c63d
d 1-m.d 135ms 4.9ms 39.9MB 220ms 0ms ldc2 1.30.0
csharp 6.cs 150ms 4.7ms 41.9MB 187ms 10ms dotnet/aot 7.0.102
odin 1.odin 171ms 7.2ms 31.7MB 227ms 20ms odin 2023
chapel 3-m.chpl 174ms 13ms 77.8MB 270ms 20ms chpl 1.29.0
go 7-m.go 233ms 8.4ms 24.0MB 363ms 17ms go 1.19.5
csharp 6.cs 237ms 12ms 53.0MB 303ms 23ms mono 6.12.0
csharp 6.cs 279ms 4.6ms 134.3MB 287ms 47ms dotnet 7.0.102
swift 2-m.swift 353ms 6.9ms 31.4MB 600ms 13ms swift 5.7.3
dart 3-m.dart 400ms 3.5ms 198.7MB 633ms 57ms dart/exe 2.19.0
d 1-m.d 425ms 8.2ms 43.8MB 753ms 10ms dmd 2.101.2
java 3-m.java 466ms 17ms 137.1MB 790ms 30ms graal/jvm 17.0.6
java 3-m.java 500ms 58ms 91.1MB 820ms 43ms openjdk 20
java 3-m.java 508ms 27ms 97.9MB 773ms 73ms openjdk/zgc 19
python 3-m.py 518ms 3.6ms 94.6MB 727ms 123ms pypy 3.9.16
java 3-m.java 528ms 32ms 98.6MB 893ms 30ms openjdk 19
python 3-m.py 579ms 12ms 17.7MB 1013ms 30ms pyston 3.8.12
julia 8.jl 763ms 4.0ms 259.1MB 847ms 143ms julia 1.8.5
python 3-m.py 812ms 13ms 16.8MB 1477ms 17ms cpython 3.11.1