D VS Acton benchmarks

Current benchmark data was generated on Fri Dec 09 2022, full log can be found HERE

CONTRIBUTIONS are WELCOME!

[x86_64][2 cores] Intel(R) Xeon(R) Platinum 8272CL 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.)

binarytrees

Input: 18

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 3243ms 13ms 75.1MB 3443ms 27ms ldc2 1.30.0
d 1.d 4769ms 43ms 185.6MB 5250ms 77ms dmd 2.101.0

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 283ms 4.5ms 15.1MB 273ms 0ms ldc2 1.30.0
d 1.d 407ms 1.7ms 26.4MB 413ms 0ms dmd 2.101.0

coro-prime-sieve

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d timeout 0.0ms 0.0MB 0ms 0ms dmd 2.101.0
d 1.d timeout 0.0ms 0.0MB 0ms 0ms ldc2 1.30.0

Input: 1000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 1240ms 2.3ms 8.1MB 1227ms 3ms ldc2 1.30.0
d 1.d 1631ms 13ms 9.4MB 1613ms 3ms dmd 2.101.0

edigits

Input: 250001

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
acton 1.act 548ms 11ms 7.4MB 487ms 43ms actonc 0.14.2
d 1.d timeout 0.0ms 0.0MB 0ms 0ms dmd 2.101.0
d 1.d timeout 0.0ms 0.0MB 0ms 0ms ldc2 1.30.0

Input: 100000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
acton 1.act 202ms 1.2ms 5.3MB 183ms 3ms actonc 0.14.2
d 1.d 954ms 1.0ms 7.0MB 940ms 0ms ldc2 1.30.0
d 1.d 1084ms 0.3ms 8.0MB 1070ms 0ms dmd 2.101.0

fasta

Input: 2500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 210ms 1.4ms 31.0MB 190ms 7ms ldc2 1.30.0
d 1.d 677ms 0.9ms 38.4MB 650ms 13ms dmd 2.101.0

Input: 250000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 25ms 1.3ms 7.5MB 13ms 0ms ldc2 1.30.0
d 1.d 72ms 0.7ms 10.9MB 60ms 0ms dmd 2.101.0

helloworld

Input: QwQ

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 2.0ms 0.7ms 2.9MB 0ms 0ms ldc2 1.30.0
d 1.d 2.1ms 0.4ms 3.9MB 0ms 0ms dmd 2.101.0
acton 1.act 5.2ms 3.9ms 3.1MB 0ms 0ms actonc 0.14.2

lru

Input: 1000 1000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 172ms 0.6ms 3.7MB 160ms 0ms ldc2 1.30.0
d 1.d 251ms 1.3ms 4.9MB 240ms 0ms dmd 2.101.0

Input: 1000 3000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 505ms 2.3ms 3.7MB 493ms 0ms ldc2 1.30.0
d 1.d 735ms 2.0ms 4.9MB 727ms 0ms dmd 2.101.0

Input: 100 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 72ms 0.2ms 4.0MB 63ms 0ms ldc2 1.30.0
d 1.d 109ms 0.5ms 4.7MB 100ms 0ms dmd 2.101.0

mandelbrot

Input: 5000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 606ms 1.9ms 6.8MB 593ms 0ms ldc2 1.30.0
d 1.d 3163ms 3.2ms 7.7MB 3150ms 0ms dmd 2.101.0

Input: 1000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 28ms 0.1ms 2.9MB 20ms 0ms ldc2 1.30.0
d 1.d 133ms 0.2ms 3.4MB 123ms 0ms dmd 2.101.0

merkletrees

Input: 17

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 1553ms 14ms 75.0MB 1620ms 10ms ldc2 1.30.0
d 1.d 2670ms 4.2ms 153.3MB 2967ms 47ms dmd 2.101.0

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 299ms 4.7ms 38.9MB 283ms 7ms ldc2 1.30.0
d 1.d 535ms 1.2ms 39.9MB 567ms 10ms dmd 2.101.0

nbody

Input: 5000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 463ms 1.0ms 1.5MB 450ms 0ms ldc2 1.30.0
d 2.d 477ms 8.0ms 1.5MB 467ms 0ms ldc2 1.30.0
d 1.d 1235ms 0.8ms 2.4MB 1220ms 0ms dmd 2.101.0
d 2.d 2780ms 1.8ms 2.4MB 2770ms 0ms dmd 2.101.0

Input: 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 49ms 0.8ms 1.5MB 40ms 0ms ldc2 1.30.0
d 2.d 51ms 0.8ms 1.5MB 40ms 0ms ldc2 1.30.0
d 1.d 127ms 0.7ms 2.3MB 120ms 0ms dmd 2.101.0
d 2.d 281ms 0.6ms 2.3MB 270ms 0ms dmd 2.101.0

nsieve

Input: 12

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 784ms 6.5ms 42.4MB 757ms 10ms ldc2 1.30.0
d 2.d 833ms 0.2ms 48.4MB 800ms 13ms ldc2 1.30.0
d 1.d 901ms 21ms 74.9MB 867ms 17ms dmd 2.101.0
d 2.d 1538ms 0.8ms 49.0MB 1500ms 20ms dmd 2.101.0

Input: 10

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 121ms 0.7ms 13.9MB 103ms 3ms ldc2 1.30.0
d 1.d 142ms 1.5ms 22.7MB 123ms 0ms dmd 2.101.0
d 2.d 195ms 1.6ms 15.1MB 180ms 0ms ldc2 1.30.0
d 2.d 381ms 1.1ms 16.4MB 367ms 0ms dmd 2.101.0

pidigits

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 3455ms 10ms 7.8MB 3450ms 13ms ldc2 1.30.0
acton 1.act 4902ms 85ms 7.8MB 4477ms 777ms actonc 0.14.2
d 1.d timeout 0.0ms 0.0MB 0ms 0ms dmd 2.101.0

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 823ms 0.9ms 7.9MB 810ms 3ms ldc2 1.30.0
acton 1.act 1475ms 7.3ms 6.4MB 1327ms 277ms actonc 0.14.2
d 1.d 1495ms 0.8ms 8.9MB 1490ms 0ms dmd 2.101.0

regex-redux

Input: 2500000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 3.d 828ms 1.7ms 168.2MB 987ms 70ms ldc2 1.30.0
d 3.d 1702ms 1.5ms 173.4MB 1890ms 60ms dmd 2.101.0

Input: 250000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 3.d 88ms 1.2ms 25.3MB 93ms 7ms ldc2 1.30.0
d 3.d 178ms 0.4ms 28.0MB 187ms 3ms dmd 2.101.0

secp256k1

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d timeout 0.0ms 0.0MB 0ms 0ms dmd 2.101.0
d 1.d timeout 0.0ms 0.0MB 0ms 0ms ldc2 1.30.0

Input: 500

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 1500ms 1.8ms 3.7MB 1483ms 0ms ldc2 1.30.0
d 1.d 2980ms 4.7ms 5.1MB 2973ms 0ms dmd 2.101.0

spectral-norm

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 3629ms 1.6ms 3.8MB 3620ms 0ms ldc2 1.30.0
d 1.d 4415ms 23ms 4.6MB 4403ms 0ms dmd 2.101.0

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 911ms 0.9ms 3.4MB 897ms 0ms ldc2 1.30.0
d 1.d 1104ms 1.4ms 4.4MB 1087ms 0ms dmd 2.101.0

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 231ms 1.6ms 2.9MB 217ms 0ms ldc2 1.30.0
d 1.d 279ms 0.4ms 4.1MB 270ms 0ms dmd 2.101.0