Typescript VS Haxe benchmarks

Current benchmark data was generated on Sun Jan 29 2023, 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
haxe 1.hx 1678ms 5.2ms 146.1MB 1927ms 70ms haxe/cpp 4.2.5
typescript 1.ts 3653ms 166ms 149.5MB 3550ms 543ms deno 1.30.0
haxe 2.hx 4581ms 8.9ms 497.2MB 5720ms 247ms haxe/cpp 4.2.5
haxe 1.hx timeout 0.0ms 48.6MB 4670ms 310ms haxe/hl/c 4.2.5
haxe 2.hx timeout 0.0ms 83.0MB 4397ms 590ms haxe/hl/c 4.2.5
haxe 1.hx timeout 0.0ms 49.0MB 4700ms 280ms haxe/hl/jit 1.13.0
haxe 2.hx timeout 0.0ms 130.2MB 4430ms 550ms haxe/hl/jit 1.13.0

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
haxe 1.hx 110ms 4.0ms 27.7MB 103ms 3ms haxe/cpp 4.2.5
typescript 1.ts 155ms 13ms 56.9MB 177ms 3ms deno 1.30.0
haxe 2.hx 422ms 6.8ms 60.2MB 480ms 17ms haxe/cpp 4.2.5
haxe 1.hx 779ms 2.3ms 8.6MB 730ms 33ms haxe/hl/c 4.2.5
haxe 1.hx 949ms 11ms 11.1MB 893ms 43ms haxe/hl/jit 1.13.0
haxe 2.hx 1167ms 4.0ms 13.4MB 1040ms 110ms haxe/hl/c 4.2.5
haxe 2.hx 1327ms 19ms 25.0MB 1160ms 150ms haxe/hl/jit 1.13.0

coro-prime-sieve

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 2033ms 48ms 70.9MB 2050ms 23ms deno 1.30.0

Input: 1000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 169ms 0.2ms 45.2MB 160ms 3ms deno 1.30.0

fasta

Input: 2500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 2032ms 2.8ms 38.7MB 1927ms 113ms deno 1.30.0
haxe 1.hx 3417ms 52ms 27.5MB 3340ms 227ms haxe/cpp 4.2.5
haxe 1.hx timeout 0.0ms 3.4MB 4617ms 363ms haxe/hl/c 4.2.5
haxe 1.hx timeout 0.0ms 3.8MB 4693ms 293ms haxe/hl/jit 1.13.0

Input: 250000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 264ms 46ms 39.0MB 230ms 17ms deno 1.30.0
haxe 1.hx 355ms 0.6ms 27.5MB 320ms 37ms haxe/cpp 4.2.5
haxe 1.hx 780ms 1.8ms 3.2MB 713ms 50ms haxe/hl/c 4.2.5
haxe 1.hx 834ms 0.6ms 3.7MB 773ms 47ms haxe/hl/jit 1.13.0

helloworld

Input: QwQ

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
haxe 1.hx 2.7ms 0.6ms 2.9MB 0ms 0ms haxe/hl/c 4.2.5
haxe 1.hx 2.9ms 0.5ms 3.2MB 0ms 0ms haxe/cpp 4.2.5
haxe 1.hx 4.6ms 1.2ms 3.3MB 0ms 0ms haxe/hl/jit 1.13.0
typescript 1.ts 26ms 1.3ms 31.8MB 14ms 2ms deno 1.30.0

http-server

Input: 3000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 2.ts 1017ms 20ms 136.6MB 1133ms 307ms deno 1.30.0
typescript 2-tls.ts 1239ms 15ms 148.0MB 1353ms 320ms deno 1.30.0
typescript 1-http2.ts 1291ms 9.3ms 138.9MB 1500ms 320ms deno 1.30.0
typescript 1.ts 1396ms 78ms 133.3MB 1190ms 307ms deno 1.30.0

Input: 500

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 2.ts 219ms 13ms 71.7MB 143ms 53ms deno 1.30.0
typescript 1.ts 223ms 6.3ms 74.6MB 150ms 53ms deno 1.30.0
typescript 1-http2.ts 261ms 9.6ms 62.4MB 190ms 63ms deno 1.30.0
typescript 2-tls.ts 396ms 2.2ms 76.5MB 317ms 57ms deno 1.30.0

json-serde

Input: sample 5000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 369ms 3.7ms 91.5MB 370ms 27ms deno 1.30.0

Input: canada 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 3298ms 12ms 384.1MB 3437ms 140ms deno 1.30.0

lru

Input: 1000 1000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
haxe 1.hx 184ms 5.0ms 22.2MB 167ms 7ms haxe/cpp 4.2.5
haxe 1.hx 196ms 0.5ms 2.8MB 187ms 0ms haxe/hl/c 4.2.5
haxe 1.hx 236ms 2.2ms 3.6MB 220ms 0ms haxe/hl/jit 1.13.0
typescript 2.ts 356ms 1.7ms 44.5MB 350ms 10ms deno 1.30.0
typescript 1.ts 782ms 18ms 44.9MB 753ms 7ms deno 1.30.0

Input: 1000 3000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
haxe 1.hx 518ms 0.9ms 27.5MB 497ms 7ms haxe/cpp 4.2.5
haxe 1.hx 579ms 6.3ms 2.9MB 567ms 0ms haxe/hl/c 4.2.5
haxe 1.hx 691ms 2.4ms 3.7MB 677ms 0ms haxe/hl/jit 1.13.0
typescript 2.ts 980ms 2.2ms 44.4MB 973ms 3ms deno 1.30.0
typescript 1.ts 2219ms 1.2ms 44.7MB 2210ms 0ms deno 1.30.0

Input: 100 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
haxe 1.hx 85ms 1.9ms 14.2MB 73ms 3ms haxe/cpp 4.2.5
haxe 1.hx 96ms 1.9ms 2.8MB 87ms 0ms haxe/hl/c 4.2.5
haxe 1.hx 121ms 2.9ms 3.6MB 107ms 0ms haxe/hl/jit 1.13.0
typescript 2.ts 183ms 3.4ms 38.4MB 177ms 3ms deno 1.30.0
typescript 1.ts 229ms 4.3ms 39.0MB 197ms 7ms deno 1.30.0

merkletrees

Input: 17

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 659ms 4.3ms 92.0MB 670ms 30ms deno 1.30.0
haxe 1.hx 1141ms 6.2ms 97.0MB 1283ms 60ms haxe/cpp 4.2.5
haxe 1.hx timeout 0.0ms 32.7MB 4603ms 380ms haxe/hl/c 4.2.5
haxe 1.hx timeout 0.0ms 54.5MB 4687ms 300ms haxe/hl/jit 1.13.0

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 172ms 1.6ms 59.8MB 173ms 10ms deno 1.30.0
haxe 1.hx 207ms 6.1ms 28.6MB 200ms 13ms haxe/cpp 4.2.5
haxe 1.hx 1526ms 0.7ms 10.9MB 1397ms 113ms haxe/hl/c 4.2.5
haxe 1.hx 1701ms 23ms 20.2MB 1590ms 97ms haxe/hl/jit 1.13.0

nbody

Input: 5000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 6.ts 653ms 21ms 37.8MB 637ms 7ms deno 1.30.0
haxe 2.hx 977ms 8.8ms 2.3MB 963ms 0ms haxe/hl/c 4.2.5
haxe 1.hx 1243ms 2.6ms 2.3MB 1230ms 0ms haxe/hl/c 4.2.5
haxe 3.hx 1410ms 34ms 27.7MB 1597ms 43ms haxe/cpp 4.2.5
haxe 2.hx 2332ms 49ms 3.2MB 2320ms 0ms haxe/hl/jit 1.13.0
haxe 1.hx 2595ms 91ms 3.2MB 2580ms 0ms haxe/hl/jit 1.13.0
haxe 1.hx timeout 0.0ms 3.2MB 4990ms 0ms haxe/cpp 4.2.5
haxe 2.hx timeout 0.0ms 3.2MB 4990ms 0ms haxe/cpp 4.2.5
haxe 3.hx timeout 0.0ms 3.4MB 4553ms 430ms haxe/hl/c 4.2.5
haxe 3.hx timeout 0.0ms 3.7MB 4620ms 367ms haxe/hl/jit 1.13.0

Input: 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 6.ts 96ms 1.8ms 37.9MB 83ms 0ms deno 1.30.0
haxe 2.hx 100ms 0.7ms 2.3MB 90ms 0ms haxe/hl/c 4.2.5
haxe 1.hx 132ms 7.9ms 2.3MB 120ms 0ms haxe/hl/c 4.2.5
haxe 3.hx 156ms 0.7ms 27.7MB 163ms 3ms haxe/cpp 4.2.5
haxe 2.hx 243ms 12ms 3.3MB 233ms 0ms haxe/hl/jit 1.13.0
haxe 1.hx 256ms 0.6ms 3.3MB 247ms 0ms haxe/hl/jit 1.13.0
haxe 3.hx 632ms 2.2ms 3.2MB 557ms 60ms haxe/hl/c 4.2.5
haxe 3.hx 779ms 16ms 3.7MB 720ms 43ms haxe/hl/jit 1.13.0
haxe 2.hx 855ms 2.4ms 3.2MB 840ms 0ms haxe/cpp 4.2.5
haxe 1.hx 1046ms 1.7ms 3.2MB 1033ms 0ms haxe/cpp 4.2.5

pidigits

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 3.ts timeout 0.0ms 79.4MB 4950ms 40ms deno 1.30.0

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 3.ts 1493ms 5.5ms 58.9MB 1433ms 67ms deno 1.30.0

secp256k1

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 2444ms 60ms 39.0MB 2407ms 13ms deno 1.30.0

Input: 500

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 635ms 5.1ms 37.6MB 637ms 7ms deno 1.30.0

spectral-norm

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 7.ts 4864ms 45ms 39.0MB 4833ms 3ms deno 1.30.0
haxe 1.hx timeout 0.0ms 6.9MB 4983ms 0ms haxe/cpp 4.2.5
haxe 1.hx timeout 0.0ms 3.0MB 4983ms 3ms haxe/hl/c 4.2.5
haxe 1.hx timeout 0.0ms 3.7MB 4990ms 0ms haxe/hl/jit 1.13.0

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 7.ts 1237ms 3.1ms 38.3MB 1227ms 3ms deno 1.30.0
haxe 1.hx 1305ms 1.1ms 2.9MB 1290ms 0ms haxe/hl/c 4.2.5
haxe 1.hx 2346ms 9.0ms 6.7MB 2333ms 0ms haxe/cpp 4.2.5
haxe 1.hx timeout 0.0ms 3.5MB 4987ms 0ms haxe/hl/jit 1.13.0

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
haxe 1.hx 332ms 2.6ms 2.9MB 317ms 0ms haxe/hl/c 4.2.5
typescript 7.ts 368ms 57ms 37.9MB 327ms 7ms deno 1.30.0
haxe 1.hx 590ms 0.6ms 5.3MB 580ms 0ms haxe/cpp 4.2.5
haxe 1.hx 3424ms 1.6ms 3.7MB 3410ms 0ms haxe/hl/jit 1.13.0