All D 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

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

Input: 15

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

coro-prime-sieve

Input: 4000

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

Input: 1000

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

edigits

Input: 250001

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

Input: 100000

code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
1.d 954ms 1.0ms 7.0MB 940ms 0ms ldc2 1.30.0
1.d 1084ms 0.3ms 8.0MB 1070ms 0ms dmd 2.101.0

fasta

Input: 2500000

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

Input: 250000

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

helloworld

Input: QwQ

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

lru

Input: 1000 1000000

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

Input: 1000 3000000

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

Input: 100 500000

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

mandelbrot

Input: 5000

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

Input: 1000

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

merkletrees

Input: 17

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

Input: 15

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

nbody

Input: 5000000

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

Input: 500000

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

nsieve

Input: 12

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

Input: 10

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

pidigits

Input: 8000

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

Input: 4000

code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
1.d 823ms 0.9ms 7.9MB 810ms 3ms ldc2 1.30.0
1.d 1495ms 0.8ms 8.9MB 1490ms 0ms dmd 2.101.0

regex-redux

Input: 2500000_in

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

Input: 250000_in

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

secp256k1

Input: 2000

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

Input: 500

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

spectral-norm

Input: 8000

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

Input: 4000

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

Input: 2000

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