Typescript VS Zig benchmarks

Current benchmark data was generated on Fri May 20 2022, full log can be found HERE

CONTRIBUTIONS are WELCOME!

[x86_64][2 cores] Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz (Model 106)

* -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 3160ms 31ms 171.7MB 3337ms 503ms deno 1.22.0
zig 1.zig timeout 0.0ms 0.0MB 0ms 0ms zig 0.10.0

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 197ms 59ms 55.7MB 150ms 20ms deno 1.22.0
zig 1.zig 3043ms 18ms 8.0MB 2350ms 657ms zig 0.10.0

coro-prime-sieve

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 2039ms 9.8ms 68.3MB 2040ms 37ms deno 1.22.0

Input: 1000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 174ms 2.9ms 44.8MB 157ms 13ms deno 1.22.0

fasta

Input: 2500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
zig 1.zig 155ms 0.1ms 0.0MB 150ms 0ms zig 0.10.0
typescript 1.ts 4393ms 38ms 54.1MB 4227ms 153ms deno 1.22.0

Input: 250000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
zig 1.zig 18ms 0.3ms 0.0MB 10ms 0ms zig 0.10.0
typescript 1.ts 506ms 61ms 45.4MB 433ms 33ms deno 1.22.0

helloworld

Input: QwQ

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
zig 1.zig 2.1ms 1.0ms 0.0MB 0ms 0ms zig 0.10.0
typescript 1.ts 20ms 0.8ms 31.7MB 10ms 0ms deno 1.22.0

http-server

Input: 3000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 2.ts 1059ms 22ms 136.5MB 1183ms 320ms deno 1.22.0
typescript 1.ts 1071ms 28ms 133.2MB 1167ms 330ms deno 1.22.0
typescript 1-http2.ts 1370ms 16ms 139.4MB 1467ms 357ms deno 1.22.0
typescript 2-tls.ts 1521ms 336ms 164.7MB 1483ms 363ms deno 1.22.0

Input: 500

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 2.ts 279ms 64ms 70.9MB 190ms 57ms deno 1.22.0
typescript 1.ts 291ms 70ms 68.8MB 183ms 67ms deno 1.22.0
typescript 1-http2.ts 345ms 61ms 68.3MB 253ms 60ms deno 1.22.0
typescript 2-tls.ts 380ms 50ms 76.6MB 273ms 80ms deno 1.22.0

json-serde

Input: sample 5000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1-m.ts 164ms 4.8ms 65.2MB 260ms 10ms deno 1.22.0

Input: canada 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 1129ms 20ms 264.6MB 1320ms 80ms deno 1.22.0

lru

Input: 1000 1000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
zig 1.zig 47ms 1.7ms 1.6MB 37ms 0ms zig 0.10.0
typescript 2.ts 732ms 1.6ms 43.4MB 717ms 10ms deno 1.22.0
typescript 1.ts 1158ms 2.2ms 44.0MB 1143ms 3ms deno 1.22.0

Input: 1000 3000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
zig 1.zig 132ms 0.3ms 1.6MB 120ms 0ms zig 0.10.0
typescript 2.ts 2121ms 7.1ms 49.7MB 2110ms 10ms deno 1.22.0
typescript 1.ts 3401ms 1.9ms 51.5MB 3383ms 7ms deno 1.22.0

Input: 100 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
zig 1.zig 23ms 1.7ms 0.3MB 10ms 0ms zig 0.10.0
typescript 2.ts 369ms 1.4ms 37.9MB 353ms 7ms deno 1.22.0
typescript 1.ts 436ms 50ms 37.6MB 387ms 10ms deno 1.22.0

merkletrees

Input: 17

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 671ms 2.2ms 91.2MB 677ms 33ms deno 1.22.0
zig 1.zig timeout 0.0ms 0.0MB 0ms 0ms zig 0.10.0

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 177ms 1.2ms 57.2MB 173ms 10ms deno 1.22.0
zig 1.zig timeout 0.0ms 0.0MB 0ms 0ms zig 0.10.0

nbody

Input: 5000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
zig 2.zig 303ms 0.6ms 0.0MB 290ms 0ms zig 0.10.0
zig 1.zig 377ms 3.5ms 0.0MB 367ms 0ms zig 0.10.0
typescript 6.ts 683ms 1.3ms 37.7MB 663ms 3ms deno 1.22.0

Input: 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
zig 2.zig 33ms 1.6ms 0.0MB 20ms 0ms zig 0.10.0
zig 1.zig 40ms 0.6ms 0.0MB 30ms 0ms zig 0.10.0
typescript 6.ts 99ms 3.3ms 37.6MB 93ms 0ms deno 1.22.0

pidigits

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 3.ts timeout 0.0ms 0.0MB 0ms 0ms deno 1.22.0
zig 1.zig timeout 0.0ms 0.0MB 0ms 0ms zig 0.10.0

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 3.ts 1365ms 10ms 55.2MB 1360ms 40ms deno 1.22.0
zig 1.zig 2699ms 13ms 0.4MB 980ms 1700ms zig 0.10.0

secp256k1

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 2817ms 8.0ms 37.5MB 2833ms 10ms deno 1.22.0

Input: 500

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 739ms 2.6ms 37.7MB 747ms 3ms deno 1.22.0

spectral-norm

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
zig 2-m.zig 1070ms 4.8ms 0.3MB 2047ms 0ms zig 0.10.0
zig 2.zig 2064ms 3.4ms 0.0MB 2050ms 0ms zig 0.10.0
zig 1.zig 4576ms 0.2ms 0.1MB 4560ms 0ms zig 0.10.0
typescript 7.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
zig 2-m.zig 278ms 2.3ms 0.2MB 510ms 0ms zig 0.10.0
zig 2.zig 517ms 0.8ms 0.0MB 507ms 0ms zig 0.10.0
zig 1.zig 1146ms 0.6ms 0.1MB 1133ms 0ms zig 0.10.0
typescript 7.ts 1280ms 1.3ms 34.8MB 1263ms 3ms deno 1.22.0

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
zig 2-m.zig 77ms 1.5ms 0.2MB 123ms 0ms zig 0.10.0
zig 2.zig 131ms 2.0ms 0.0MB 120ms 0ms zig 0.10.0
zig 1.zig 289ms 1.4ms 0.1MB 280ms 0ms zig 0.10.0
typescript 7.ts 345ms 0.8ms 34.9MB 327ms 7ms deno 1.22.0