Javascript VS Typescript benchmarks

Current benchmark data was generated on Wed May 25 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
typescript 1.ts 3471ms 34ms 169.4MB 3520ms 673ms deno 1.22.0
javascript 1.js 4218ms 14ms 265.6MB 2980ms 1580ms node 18.2.0

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 146ms 9.8ms 55.4MB 130ms 17ms deno 1.22.0
javascript 1.js 237ms 0.8ms 80.5MB 213ms 33ms node 18.2.0

coro-prime-sieve

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 2061ms 138ms 68.2MB 2067ms 40ms deno 1.22.0
javascript 1.js 2607ms 120ms 76.4MB 2667ms 50ms node 18.2.0

Input: 1000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 166ms 9.6ms 45.0MB 153ms 10ms deno 1.22.0
javascript 1.js 237ms 1.3ms 57.5MB 210ms 23ms node 18.2.0

helloworld

Input: QwQ

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 20ms 0.6ms 32.2MB 8ms 3ms deno 1.22.0
javascript 1.js 50ms 3.0ms 37.6MB 36ms 4ms node 18.2.0

http-server

Input: 3000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 2.ts 1155ms 13ms 133.5MB 1337ms 310ms deno 1.22.0
typescript 1.ts 1203ms 23ms 133.7MB 1400ms 317ms deno 1.22.0
typescript 2-tls.ts 1488ms 140ms 160.9MB 1613ms 390ms deno 1.22.0
typescript 1-http2.ts 1560ms 35ms 138.5MB 1663ms 377ms deno 1.22.0
javascript 1.js timeout 0.0ms 0.0MB 0ms 0ms node 18.2.0

Input: 500

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 266ms 16ms 69.6MB 203ms 63ms deno 1.22.0
typescript 2.ts 267ms 10ms 71.5MB 210ms 67ms deno 1.22.0
typescript 2-tls.ts 332ms 6.5ms 74.8MB 270ms 70ms deno 1.22.0
typescript 1-http2.ts 334ms 24ms 67.7MB 260ms 73ms deno 1.22.0
javascript 1.js 399ms 7.4ms 68.0MB 357ms 87ms node 18.2.0

json-serde

Input: sample 5000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1-m.ts 167ms 0.8ms 65.3MB 263ms 7ms deno 1.22.0
javascript 1.js 180ms 2.5ms 70.0MB 153ms 23ms node 18.2.0

Input: canada 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 1213ms 67ms 264.9MB 1400ms 127ms deno 1.22.0
javascript 1.js 1217ms 3.5ms 285.3MB 1183ms 150ms node 18.2.0

lru

Input: 1000 1000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 2.ts 758ms 0.5ms 44.4MB 747ms 7ms deno 1.22.0
javascript 2.js 849ms 2.0ms 55.0MB 833ms 7ms node 18.2.0
typescript 1.ts 1088ms 0.2ms 43.7MB 1073ms 7ms deno 1.22.0
javascript 1.js 1145ms 3.1ms 57.1MB 1117ms 20ms node 18.2.0

Input: 1000 3000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 2.ts 2140ms 101ms 51.9MB 2137ms 7ms deno 1.22.0
javascript 2.js 2393ms 20ms 58.1MB 2380ms 13ms node 18.2.0
typescript 1.ts 2827ms 5.7ms 51.8MB 2803ms 17ms deno 1.22.0
javascript 1.js 3152ms 220ms 56.9MB 3113ms 30ms node 18.2.0

Input: 100 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 2.ts 361ms 21ms 38.0MB 343ms 7ms deno 1.22.0
typescript 1.ts 411ms 4.9ms 37.3MB 397ms 0ms deno 1.22.0
javascript 2.js 440ms 2.4ms 46.5MB 423ms 7ms node 18.2.0
javascript 1.js 465ms 0.8ms 42.7MB 443ms 17ms node 18.2.0

merkletrees

Input: 17

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 758ms 42ms 91.1MB 757ms 40ms deno 1.22.0
javascript 1.js 1071ms 1.7ms 117.0MB 1107ms 53ms node 18.2.0

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 193ms 11ms 57.4MB 187ms 17ms deno 1.22.0
javascript 1.js 302ms 1.3ms 84.4MB 290ms 33ms node 18.2.0

nbody

Input: 5000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
javascript 6.js 721ms 41ms 42.6MB 703ms 3ms node 18.2.0
typescript 6.ts 738ms 49ms 39.4MB 720ms 3ms deno 1.22.0

Input: 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 6.ts 99ms 2.7ms 37.4MB 83ms 3ms deno 1.22.0
javascript 6.js 132ms 11ms 42.5MB 103ms 13ms node 18.2.0

pidigits

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
javascript 3.js timeout 0.0ms 0.0MB 0ms 0ms node 18.2.0
typescript 3.ts timeout 0.0ms 0.0MB 0ms 0ms deno 1.22.0

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 3.ts 1266ms 14ms 53.3MB 1253ms 47ms deno 1.22.0
javascript 3.js 1675ms 7.6ms 58.4MB 1663ms 13ms node 18.2.0

secp256k1

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 3132ms 218ms 37.8MB 3167ms 20ms deno 1.22.0
javascript 1.js 4145ms 23ms 47.6MB 4160ms 27ms node 18.2.0

Input: 500

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 852ms 56ms 37.7MB 863ms 13ms deno 1.22.0
javascript 1.js 1049ms 70ms 46.8MB 1057ms 10ms node 18.2.0

spectral-norm

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
javascript 6-m.js 2983ms 4.9ms 67.0MB 5593ms 30ms node 18.2.0
typescript 7.ts 4312ms 317ms 36.7MB 4290ms 3ms deno 1.22.0

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
javascript 6-m.js 923ms 9.4ms 65.4MB 1623ms 27ms node 18.2.0
typescript 7.ts 1152ms 59ms 34.9MB 1133ms 7ms deno 1.22.0

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 7.ts 309ms 21ms 32.8MB 297ms 0ms deno 1.22.0
javascript 6-m.js 410ms 6.8ms 65.7MB 593ms 33ms node 18.2.0