Typescript VS D benchmarks

Current benchmark data was generated on Thu Jul 31 2025, full log can be found HERE

CONTRIBUTIONS are WELCOME!

[x86_64][4 cores] AMD EPYC 7763 64-Core Processor (Model 1)

* -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
typescript 1.ts 1047ms 5.2ms 397.8MB 1010ms 193ms deno 2.4.2
d 1.d 2212ms 5.9ms 312.4MB 2177ms 43ms ldc2 1.41.0
d 1.d 3041ms 12ms 314.1MB 3217ms 53ms dmd 2.111.0

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 130ms 3.8ms 80.7MB 133ms 20ms deno 2.4.2
d 1.d 202ms 2.2ms 208.4MB 177ms 17ms ldc2 1.41.0
d 1.d 265ms 1.8ms 210.9MB 233ms 20ms dmd 2.111.0

coro-prime-sieve

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 1228ms 12ms 122.6MB 1213ms 60ms deno 2.4.2
d 1.d timeout 0.0ms 17.9MB 4970ms 20ms dmd 2.111.0
d 1.d timeout 0.0ms 16.6MB 4967ms 17ms ldc2 1.41.0

Input: 1000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 145ms 2.1ms 73.0MB 123ms 20ms deno 2.4.2
d 1.d 1069ms 26ms 10.1MB 1043ms 13ms ldc2 1.41.0
d 1.d 1376ms 9.9ms 12.4MB 1353ms 13ms dmd 2.111.0

fasta

Input: 2500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 111ms 1.8ms 2.9MB 100ms 0ms ldc2 1.41.0
d 1.d 641ms 3.6ms 4.8MB 633ms 0ms dmd 2.111.0
typescript 1.ts 2079ms 26ms 59.4MB 1963ms 120ms deno 2.4.2

Input: 250000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 15ms 1.4ms 2.9MB 10ms 0ms ldc2 1.41.0
d 1.d 68ms 0.7ms 4.6MB 60ms 0ms dmd 2.111.0
typescript 1.ts 240ms 4.3ms 59.2MB 223ms 23ms deno 2.4.2

helloworld

Input: QwQ

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 1.6ms 0.1ms 2.9MB 0ms 0ms ldc2 1.41.0
d 1.d 2.0ms 0.3ms 5.1MB 0ms 0ms dmd 2.111.0
typescript 1.ts 28ms 1.1ms 45.9MB 10ms 6ms deno 2.4.2

http-server

Input: 3000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 2-m.ts 677ms 8.6ms 243.0MB 637ms 417ms deno 2.4.2
typescript 1-m.ts 708ms 1.2ms 246.7MB 653ms 437ms deno 2.4.2
typescript 1-http2.ts 936ms 6.9ms 251.3MB 897ms 403ms deno 2.4.2
typescript 2-tls.ts 1326ms 9.9ms 266.5MB 1210ms 493ms deno 2.4.2

Input: 500

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 171ms 3.9ms 94.2MB 127ms 90ms deno 2.4.2
typescript 2.ts 176ms 7.5ms 94.4MB 133ms 97ms deno 2.4.2
typescript 1-http2.ts 223ms 3.6ms 95.5MB 190ms 87ms deno 2.4.2
typescript 2-tls.ts 272ms 5.6ms 100.1MB 213ms 113ms deno 2.4.2

json-serde

Input: sample 5000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 2.d 60ms 0.7ms 15.7MB 67ms 7ms ldc2 1.41.0
typescript 1.ts 163ms 3.9ms 95.1MB 163ms 33ms deno 2.4.2
d 2.d 243ms 3.1ms 22.4MB 247ms 10ms dmd 2.111.0

Input: canada 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 2.d 469ms 3.5ms 139.9MB 440ms 27ms ldc2 1.41.0
typescript 1.ts 1196ms 4.8ms 415.4MB 1307ms 160ms deno 2.4.2
d 2.d 2516ms 24ms 158.8MB 2530ms 40ms dmd 2.111.0

lru

Input: 1000 1000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 133ms 1.9ms 5.8MB 127ms 0ms ldc2 1.41.0
d 1.d 175ms 1.6ms 8.1MB 167ms 0ms dmd 2.111.0
typescript 2.ts 287ms 4.4ms 64.0MB 277ms 17ms deno 2.4.2
typescript 1.ts 592ms 4.4ms 63.0MB 577ms 13ms deno 2.4.2

Input: 1000 3000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 381ms 3.0ms 5.9MB 367ms 17ms ldc2 1.41.0
d 1.d 513ms 0.2ms 8.1MB 497ms 13ms dmd 2.111.0
typescript 2.ts 763ms 4.5ms 72.9MB 747ms 20ms deno 2.4.2
typescript 1.ts 1713ms 32ms 70.0MB 1693ms 17ms deno 2.4.2

Input: 100 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 58ms 0.7ms 6.1MB 47ms 0ms ldc2 1.41.0
d 1.d 78ms 0.3ms 7.9MB 63ms 3ms dmd 2.111.0
typescript 2.ts 151ms 2.8ms 59.5MB 137ms 13ms deno 2.4.2
typescript 1.ts 174ms 1.9ms 60.2MB 160ms 10ms deno 2.4.2

merkletrees

Input: 17

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 577ms 7.4ms 229.1MB 583ms 117ms deno 2.4.2
d 1.d 1117ms 1.9ms 312.4MB 1087ms 37ms ldc2 1.41.0
d 1.d 1852ms 9.4ms 314.3MB 1987ms 47ms dmd 2.111.0

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 158ms 3.8ms 99.7MB 157ms 33ms deno 2.4.2
d 1.d 236ms 1.0ms 312.5MB 190ms 30ms ldc2 1.41.0
d 1.d 361ms 11ms 314.9MB 330ms 27ms dmd 2.111.0

nbody

Input: 5000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 2.d 361ms 1.4ms 2.9MB 350ms 0ms ldc2 1.41.0
d 1.d 362ms 0.9ms 2.9MB 350ms 0ms ldc2 1.41.0
typescript 6.ts 465ms 3.8ms 58.0MB 447ms 10ms deno 2.4.2
d 1.d 681ms 1.4ms 4.8MB 670ms 0ms dmd 2.111.0
d 2.d 2029ms 5.6ms 4.8MB 2020ms 0ms dmd 2.111.0

Input: 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 39ms 0.7ms 2.9MB 30ms 0ms ldc2 1.41.0
d 2.d 39ms 0.7ms 2.9MB 30ms 0ms ldc2 1.41.0
d 1.d 71ms 1.0ms 4.6MB 60ms 0ms dmd 2.111.0
typescript 6.ts 78ms 1.5ms 58.1MB 60ms 10ms deno 2.4.2
d 2.d 208ms 1.9ms 4.8MB 200ms 0ms dmd 2.111.0

pidigits

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 2440ms 7.3ms 8.1MB 2410ms 413ms ldc2 1.41.0
d 1.d 4459ms 35ms 10.5MB 4440ms 437ms dmd 2.111.0
typescript 3.ts timeout 0.0ms 135.4MB 4990ms 50ms deno 2.4.2

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 588ms 2.3ms 8.0MB 567ms 103ms ldc2 1.41.0
d 1.d 1054ms 4.0ms 10.5MB 1020ms 123ms dmd 2.111.0
typescript 3.ts 1193ms 8.8ms 80.2MB 1127ms 83ms deno 2.4.2

secp256k1

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 1944ms 17ms 60.7MB 1953ms 13ms deno 2.4.2
d 1.d 4823ms 14ms 4.1MB 4773ms 380ms ldc2 1.41.0
d 1.d timeout 0.0ms 6.6MB 4970ms 277ms dmd 2.111.0

Input: 500

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 527ms 7.3ms 59.9MB 527ms 17ms deno 2.4.2
d 1.d 1203ms 6.7ms 4.1MB 1190ms 87ms ldc2 1.41.0
d 1.d 2065ms 33ms 6.6MB 2040ms 120ms dmd 2.111.0

spectral-norm

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 3607ms 12ms 4.0MB 3600ms 0ms ldc2 1.41.0
d 1.d 3650ms 8.7ms 5.9MB 3640ms 0ms dmd 2.111.0
typescript 7.ts 4069ms 13ms 57.6MB 4053ms 10ms deno 2.4.2

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 901ms 0.1ms 5.7MB 890ms 0ms ldc2 1.41.0
d 1.d 924ms 1.7ms 7.7MB 917ms 0ms dmd 2.111.0
typescript 7.ts 1039ms 4.6ms 57.6MB 1023ms 10ms deno 2.4.2

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 228ms 0.2ms 3.1MB 220ms 0ms ldc2 1.41.0
d 1.d 233ms 1.2ms 5.6MB 220ms 0ms dmd 2.111.0
typescript 7.ts 286ms 2.4ms 55.8MB 270ms 7ms deno 2.4.2