Typescript VS Python benchmarks

Current benchmark data was generated on Thu Sep 22 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
python 1.py 1574ms 2.7ms 274.1MB 1453ms 100ms pypy 3.8.13
typescript 1.ts 3386ms 187ms 200.3MB 3387ms 530ms deno 1.25.3
python 1.py timeout 0.0ms 0.0MB 0ms 0ms cpython 3.10.7
python 1.py timeout 0.0ms 0.0MB 0ms 0ms pyston 3.8.12

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
python 1.py 120ms 2.4ms 83.3MB 93ms 10ms pypy 3.8.13
typescript 1.ts 130ms 1.1ms 51.3MB 123ms 7ms deno 1.25.3
python 1.py 610ms 3.8ms 11.9MB 583ms 10ms pyston 3.8.12
python 1.py 1514ms 8.6ms 11.8MB 1493ms 3ms cpython 3.10.7

coro-prime-sieve

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
python 1.py 1164ms 15ms 196.7MB 1090ms 53ms pypy 3.8.13
typescript 1.ts 2091ms 27ms 71.6MB 2090ms 27ms deno 1.25.3
python 1.py timeout 0.0ms 0.0MB 0ms 0ms cpython 3.10.7
python 1.py timeout 0.0ms 0.0MB 0ms 0ms pyston 3.8.12

Input: 1000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 202ms 11ms 46.0MB 163ms 7ms deno 1.25.3
python 1.py 276ms 1.4ms 95.1MB 237ms 17ms pypy 3.8.13
python 1.py 966ms 3.5ms 16.8MB 947ms 3ms pyston 3.8.12
python 1.py 978ms 1.6ms 16.9MB 960ms 0ms cpython 3.10.7

fasta

Input: 2500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
python 1.py 2607ms 3.7ms 91.1MB 2573ms 13ms pypy 3.8.13
python 5-m.py 3750ms 328ms 12.6MB 5597ms 1000ms pyston 3.8.12
python 5-m.py 3964ms 11ms 85.4MB 4430ms 853ms pypy 3.8.13
python 1.py 4082ms 19ms 7.8MB 4070ms 0ms pyston 3.8.12
typescript 1.ts 4338ms 41ms 55.4MB 4160ms 157ms deno 1.25.3
python 5-m.py 4416ms 24ms 12.1MB 6350ms 1030ms cpython 3.10.7
python 1.py timeout 0.0ms 0.0MB 0ms 0ms cpython 3.10.7

Input: 250000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
python 1.py 346ms 2.7ms 81.7MB 307ms 20ms pypy 3.8.13
python 1.py 424ms 5.3ms 7.9MB 410ms 0ms pyston 3.8.12
python 5-m.py 449ms 34ms 12.6MB 640ms 120ms pyston 3.8.12
typescript 1.ts 462ms 5.7ms 47.6MB 443ms 20ms deno 1.25.3
python 5-m.py 513ms 1.8ms 12.1MB 660ms 147ms cpython 3.10.7
python 1.py 708ms 1.5ms 7.8MB 700ms 0ms cpython 3.10.7
python 5-m.py 821ms 4.5ms 85.2MB 950ms 420ms pypy 3.8.13

helloworld

Input: QwQ

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
python 1.py 13ms 0.7ms 7.3MB 10ms 0ms pyston 3.8.12
python 1.py 15ms 0.3ms 7.3MB 10ms 0ms cpython 3.10.7
typescript 1.ts 22ms 0.5ms 32.8MB 10ms 0ms deno 1.25.3
python 1.py 34ms 2.4ms 54.0MB 14ms 6ms pypy 3.8.13

http-server

Input: 3000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 2.ts 1082ms 28ms 138.2MB 1277ms 330ms deno 1.25.3
typescript 1.ts 1265ms 234ms 142.6MB 1260ms 327ms deno 1.25.3
typescript 1-http2.ts 1358ms 56ms 143.7MB 1540ms 367ms deno 1.25.3
python 1.py 1563ms 4.8ms 29.1MB 1310ms 903ms pyston 3.8.12
python 1.py 2194ms 14ms 25.2MB 1920ms 1007ms cpython 3.10.7
python 1.py 4362ms 46ms 130.3MB 3430ms 830ms pypy 3.8.13
typescript 2-tls.ts timeout 0.0ms 0.0MB 0ms 0ms deno 1.25.3

Input: 500

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 2.ts 226ms 9.5ms 76.1MB 183ms 50ms deno 1.25.3
typescript 1.ts 234ms 2.2ms 78.2MB 157ms 80ms deno 1.25.3
python 1.py 358ms 2.2ms 23.3MB 303ms 147ms pyston 3.8.12
typescript 1-http2.ts 372ms 8.2ms 77.9MB 250ms 70ms deno 1.25.3
typescript 2-tls.ts 407ms 1.2ms 84.4MB 353ms 63ms deno 1.25.3
python 1.py 439ms 1.0ms 21.8MB 390ms 160ms cpython 3.10.7
python 1.py 1070ms 9.9ms 105.3MB 870ms 170ms pypy 3.8.13

json-serde

Input: sample 5000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 146ms 4.7ms 65.8MB 133ms 13ms deno 1.25.3
python 1.py 257ms 1.3ms 38.3MB 220ms 17ms pyston 3.8.12
python 1.py 264ms 4.8ms 38.6MB 230ms 17ms cpython 3.10.7
python 1.py 422ms 1.4ms 109.1MB 380ms 27ms pypy 3.8.13

Input: canada 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 1142ms 5.7ms 265.5MB 1240ms 80ms deno 1.25.3
python 1.py 2345ms 5.4ms 219.7MB 2230ms 103ms cpython 3.10.7
python 1.py 2387ms 2.0ms 220.5MB 2260ms 110ms pyston 3.8.12
python 1.py 2589ms 8.8ms 248.0MB 2497ms 77ms pypy 3.8.13

lru

Input: 1000 1000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
python 2.py 199ms 0.9ms 80.3MB 170ms 17ms pypy 3.8.13
python 1.py 241ms 0.6ms 81.0MB 213ms 13ms pypy 3.8.13
typescript 2.ts 693ms 34ms 45.5MB 687ms 3ms deno 1.25.3
python 1.py 993ms 2.8ms 8.9MB 977ms 0ms pyston 3.8.12
typescript 1.ts 1091ms 2.3ms 45.4MB 1080ms 7ms deno 1.25.3
python 2.py 1176ms 4.2ms 8.7MB 1163ms 0ms pyston 3.8.12
python 1.py 1831ms 10ms 8.5MB 1817ms 0ms cpython 3.10.7
python 2.py 2615ms 35ms 8.3MB 2597ms 0ms cpython 3.10.7

Input: 1000 3000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
python 2.py 468ms 4.4ms 80.4MB 443ms 7ms pypy 3.8.13
python 1.py 509ms 2.2ms 81.5MB 477ms 13ms pypy 3.8.13
typescript 2.ts 1943ms 11ms 53.2MB 1927ms 13ms deno 1.25.3
python 1.py 3011ms 54ms 9.0MB 3000ms 0ms pyston 3.8.12
typescript 1.ts 3202ms 2.6ms 51.7MB 3183ms 7ms deno 1.25.3
python 2.py 3482ms 6.9ms 8.7MB 3470ms 0ms pyston 3.8.12
python 1.py timeout 0.0ms 0.0MB 0ms 0ms cpython 3.10.7
python 2.py timeout 0.0ms 0.0MB 0ms 0ms cpython 3.10.7

Input: 100 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
python 2.py 145ms 1.3ms 80.1MB 117ms 13ms pypy 3.8.13
python 1.py 164ms 3.1ms 81.1MB 140ms 10ms pypy 3.8.13
typescript 2.ts 339ms 2.5ms 40.5MB 333ms 0ms deno 1.25.3
typescript 1.ts 370ms 0.3ms 37.7MB 357ms 3ms deno 1.25.3
python 1.py 481ms 2.8ms 8.7MB 467ms 0ms pyston 3.8.12
python 2.py 546ms 3.1ms 8.1MB 530ms 0ms pyston 3.8.12
python 1.py 862ms 4.4ms 7.8MB 853ms 0ms cpython 3.10.7
python 2.py 1257ms 5.4ms 7.3MB 1240ms 0ms cpython 3.10.7

merkletrees

Input: 17

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 649ms 3.4ms 90.5MB 667ms 30ms deno 1.25.3
python 1.py 2434ms 16ms 293.6MB 2253ms 163ms pypy 3.8.13
python 1.py timeout 0.0ms 0.0MB 0ms 0ms cpython 3.10.7
python 1.py timeout 0.0ms 0.0MB 0ms 0ms pyston 3.8.12

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 166ms 1.1ms 59.8MB 170ms 17ms deno 1.25.3
python 1.py 351ms 5.0ms 145.1MB 290ms 40ms pypy 3.8.13
python 1.py timeout 0.0ms 0.0MB 0ms 0ms cpython 3.10.7
python 1.py timeout 0.0ms 0.0MB 0ms 0ms pyston 3.8.12

nbody

Input: 5000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 6.ts 630ms 0.8ms 38.6MB 617ms 7ms deno 1.25.3
python 2.py 2065ms 46ms 80.0MB 2033ms 13ms pypy 3.8.13
python 1.py timeout 0.0ms 0.0MB 0ms 0ms cpython 3.10.7
python 2.py timeout 0.0ms 0.0MB 0ms 0ms cpython 3.10.7
python 1.py timeout 0.0ms 0.0MB 0ms 0ms pypy 3.8.13
python 1.py timeout 0.0ms 0.0MB 0ms 0ms pyston 3.8.12
python 2.py timeout 0.0ms 0.0MB 0ms 0ms pyston 3.8.12

Input: 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 6.ts 91ms 1.3ms 36.2MB 77ms 7ms deno 1.25.3
python 2.py 269ms 5.8ms 79.6MB 237ms 13ms pypy 3.8.13
python 1.py 583ms 7.9ms 79.4MB 560ms 3ms pypy 3.8.13
python 1.py 1184ms 11ms 7.2MB 1167ms 0ms pyston 3.8.12
python 2.py 1613ms 7.5ms 8.1MB 1600ms 0ms pyston 3.8.12
python 1.py 4703ms 56ms 7.4MB 4687ms 0ms cpython 3.10.7
python 2.py timeout 0.0ms 0.0MB 0ms 0ms cpython 3.10.7

pidigits

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
python 4.py 2726ms 13ms 119.6MB 2670ms 37ms pypy 3.8.13
python 4.py 2759ms 0.9ms 9.1MB 2723ms 17ms pyston 3.8.12
python 4.py 2767ms 0.5ms 8.6MB 2737ms 17ms cpython 3.10.7
typescript 3.ts timeout 0.0ms 0.0MB 0ms 0ms deno 1.25.3

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
python 4.py 653ms 0.8ms 8.8MB 640ms 0ms pyston 3.8.12
python 4.py 660ms 0.3ms 8.3MB 647ms 0ms cpython 3.10.7
python 4.py 684ms 5.3ms 84.5MB 657ms 10ms pypy 3.8.13
typescript 3.ts 1526ms 2.8ms 57.7MB 1503ms 90ms deno 1.25.3

secp256k1

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 2614ms 5.5ms 39.7MB 2623ms 3ms deno 1.25.3
python 1.py 4528ms 9.5ms 8.3MB 4513ms 0ms pyston 3.8.12
python 1.py 4900ms 14ms 87.1MB 4867ms 17ms pypy 3.8.13
python 1.py timeout 0.0ms 0.0MB 0ms 0ms cpython 3.10.7

Input: 500

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 697ms 16ms 39.4MB 690ms 10ms deno 1.25.3
python 1.py 1144ms 1.3ms 8.4MB 1130ms 0ms pyston 3.8.12
python 1.py 1375ms 6.1ms 84.2MB 1343ms 13ms pypy 3.8.13
python 1.py 1498ms 22ms 7.3MB 1480ms 0ms cpython 3.10.7

spectral-norm

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
python 8.py timeout 0.0ms 0.0MB 0ms 0ms cpython 3.10.7
python 8.py timeout 0.0ms 0.0MB 0ms 0ms pypy 3.8.13
python 8.py timeout 0.0ms 0.0MB 0ms 0ms pyston 3.8.12
typescript 7.ts timeout 0.0ms 0.0MB 0ms 0ms deno 1.25.3

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 7.ts 1279ms 2.0ms 38.5MB 1270ms 3ms deno 1.25.3
python 8.py timeout 0.0ms 0.0MB 0ms 0ms cpython 3.10.7
python 8.py timeout 0.0ms 0.0MB 0ms 0ms pypy 3.8.13
python 8.py timeout 0.0ms 0.0MB 0ms 0ms pyston 3.8.12

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 7.ts 345ms 1.5ms 36.1MB 330ms 7ms deno 1.25.3
python 8-m.py 3292ms 24ms 109.1MB 5633ms 357ms pypy 3.8.13
python 8.py timeout 0.0ms 0.0MB 0ms 0ms cpython 3.10.7
python 8.py timeout 0.0ms 0.0MB 0ms 0ms pyston 3.8.12