Typescript VS D benchmarks

Current benchmark data was generated on Wed Feb 08 2023, full log can be found HERE

CONTRIBUTIONS are WELCOME!

[x86_64][2 cores] Intel(R) Xeon(R) Platinum 8171M 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 3904ms 94ms 75.1MB 4177ms 23ms ldc2 1.30.0
typescript 1.ts 4812ms 25ms 128.2MB 4840ms 787ms deno 1.30.3
d 1.d timeout 0.0ms 125.0MB 5580ms 40ms dmd 2.102.0

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 227ms 2.5ms 57.2MB 260ms 17ms deno 1.30.3
d 1.d 356ms 15ms 15.1MB 343ms 0ms ldc2 1.30.0
d 1.d 480ms 7.3ms 27.2MB 497ms 7ms dmd 2.102.0

coro-prime-sieve

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 2147ms 6.6ms 70.7MB 2157ms 47ms deno 1.30.3
d 1.d timeout 0.0ms 14.2MB 4970ms 10ms dmd 2.102.0
d 1.d timeout 0.0ms 13.3MB 4960ms 17ms ldc2 1.30.0

Input: 1000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 190ms 6.0ms 44.9MB 173ms 10ms deno 1.30.3
d 1.d 1458ms 6.4ms 8.2MB 1440ms 3ms ldc2 1.30.0
d 1.d 1923ms 9.8ms 9.9MB 1897ms 13ms dmd 2.102.0

fasta

Input: 2500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 251ms 3.2ms 30.8MB 227ms 13ms ldc2 1.30.0
d 1.d 805ms 2.8ms 40.3MB 787ms 10ms dmd 2.102.0
typescript 1.ts 2549ms 22ms 38.9MB 2393ms 163ms deno 1.30.3

Input: 250000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 30ms 1.1ms 6.9MB 13ms 0ms ldc2 1.30.0
d 1.d 85ms 0.2ms 13.2MB 77ms 0ms dmd 2.102.0
typescript 1.ts 303ms 11ms 38.9MB 290ms 20ms deno 1.30.3

helloworld

Input: QwQ

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 2.8ms 1.0ms 4.4MB 0ms 0ms dmd 2.102.0
d 1.d 3.3ms 0.9ms 2.9MB 0ms 0ms ldc2 1.30.0
typescript 1.ts 30ms 2.7ms 33.1MB 14ms 6ms deno 1.30.3

http-server

Input: 3000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 2.ts 1307ms 20ms 135.4MB 1433ms 427ms deno 1.30.3
typescript 1.ts 1353ms 24ms 135.5MB 1503ms 430ms deno 1.30.3
typescript 1-http2.ts 1676ms 22ms 139.0MB 1820ms 480ms deno 1.30.3
typescript 2-tls.ts timeout 0.0ms 283.5MB 4827ms 717ms deno 1.30.3

Input: 500

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 268ms 12ms 74.5MB 187ms 83ms deno 1.30.3
typescript 2.ts 284ms 27ms 72.1MB 207ms 57ms deno 1.30.3
typescript 1-http2.ts 335ms 5.6ms 65.9MB 253ms 77ms deno 1.30.3
typescript 2-tls.ts 452ms 13ms 75.8MB 343ms 100ms deno 1.30.3

json-serde

Input: sample 5000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 2.d 87ms 5.4ms 15.3MB 80ms 3ms ldc2 1.30.0
d 2.d 357ms 9.7ms 22.5MB 347ms 3ms dmd 2.102.0
typescript 1.ts 466ms 11ms 91.7MB 467ms 33ms deno 1.30.3

Input: canada 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 2.d 700ms 16ms 138.1MB 650ms 33ms ldc2 1.30.0
d 2.d 3745ms 81ms 157.5MB 3750ms 47ms dmd 2.102.0
typescript 1.ts 4424ms 162ms 383.2MB 4460ms 220ms deno 1.30.3

lru

Input: 1000 1000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 222ms 5.9ms 3.7MB 213ms 0ms ldc2 1.30.0
d 1.d 296ms 1.2ms 5.3MB 283ms 0ms dmd 2.102.0
typescript 2.ts 454ms 1.0ms 44.7MB 447ms 10ms deno 1.30.3
typescript 1.ts 846ms 1.4ms 43.5MB 837ms 3ms deno 1.30.3

Input: 1000 3000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 597ms 2.1ms 3.7MB 587ms 0ms ldc2 1.30.0
d 1.d 860ms 10ms 5.4MB 853ms 0ms dmd 2.102.0
typescript 2.ts 1271ms 13ms 43.4MB 1260ms 13ms deno 1.30.3
typescript 1.ts 2451ms 1.2ms 43.3MB 2430ms 10ms deno 1.30.3

Input: 100 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 94ms 1.2ms 3.7MB 80ms 0ms ldc2 1.30.0
d 1.d 128ms 2.3ms 5.0MB 117ms 0ms dmd 2.102.0
typescript 2.ts 237ms 2.9ms 37.9MB 230ms 3ms deno 1.30.3
typescript 1.ts 280ms 4.0ms 38.0MB 263ms 7ms deno 1.30.3

merkletrees

Input: 17

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 870ms 11ms 89.8MB 880ms 40ms deno 1.30.3
d 1.d 1818ms 21ms 74.8MB 1883ms 23ms ldc2 1.30.0
d 1.d 3152ms 10ms 153.9MB 3520ms 57ms dmd 2.102.0

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 228ms 3.1ms 59.3MB 237ms 17ms deno 1.30.3
d 1.d 355ms 8.2ms 38.9MB 330ms 13ms ldc2 1.30.0
d 1.d 660ms 15ms 40.5MB 707ms 10ms dmd 2.102.0

nbody

Input: 5000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 542ms 7.3ms 1.5MB 527ms 0ms ldc2 1.30.0
d 2.d 577ms 7.9ms 1.5MB 563ms 0ms ldc2 1.30.0
typescript 6.ts 912ms 32ms 37.5MB 900ms 3ms deno 1.30.3
d 1.d 1466ms 20ms 2.6MB 1453ms 0ms dmd 2.102.0
d 2.d 2593ms 6.6ms 2.7MB 2580ms 0ms dmd 2.102.0

Input: 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 57ms 0.4ms 1.5MB 50ms 0ms ldc2 1.30.0
d 2.d 60ms 0.3ms 1.5MB 47ms 0ms ldc2 1.30.0
typescript 6.ts 130ms 8.1ms 36.8MB 110ms 10ms deno 1.30.3
d 1.d 155ms 4.8ms 2.6MB 140ms 0ms dmd 2.102.0
d 2.d 264ms 4.0ms 2.6MB 257ms 0ms dmd 2.102.0

pidigits

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 3528ms 25ms 7.9MB 3530ms 17ms ldc2 1.30.0
d 1.d timeout 0.0ms 9.3MB 4997ms 17ms dmd 2.102.0
typescript 3.ts timeout 0.0ms 76.9MB 4990ms 27ms deno 1.30.3

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 833ms 5.7ms 7.8MB 820ms 3ms ldc2 1.30.0
d 1.d 1661ms 15ms 9.4MB 1647ms 7ms dmd 2.102.0
typescript 3.ts 1749ms 21ms 57.1MB 1670ms 87ms deno 1.30.3

secp256k1

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 3648ms 36ms 36.8MB 3647ms 10ms deno 1.30.3
d 1.d timeout 0.0ms 6.0MB 4993ms 3ms dmd 2.102.0
d 1.d timeout 0.0ms 3.7MB 4990ms 7ms ldc2 1.30.0

Input: 500

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 949ms 11ms 37.3MB 957ms 7ms deno 1.30.3
d 1.d 1797ms 20ms 3.8MB 1787ms 0ms ldc2 1.30.0
d 1.d 3571ms 7.9ms 5.9MB 3563ms 0ms dmd 2.102.0

spectral-norm

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 3326ms 2880ms 5.1MB 4983ms 0ms dmd 2.102.0
d 1.d 4357ms 8.9ms 3.7MB 4343ms 0ms ldc2 1.30.0
typescript 7.ts timeout 0.0ms 38.2MB 4987ms 3ms deno 1.30.3

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 1091ms 0.8ms 3.5MB 1080ms 0ms ldc2 1.30.0
d 1.d 1256ms 3.0ms 5.1MB 1243ms 0ms dmd 2.102.0
typescript 7.ts 1621ms 1.0ms 38.3MB 1603ms 10ms deno 1.30.3

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 278ms 0.5ms 3.0MB 267ms 0ms ldc2 1.30.0
d 1.d 318ms 1.4ms 4.4MB 310ms 0ms dmd 2.102.0
typescript 7.ts 488ms 84ms 38.4MB 433ms 7ms deno 1.30.3