Typescript VS Odin benchmarks

Current benchmark data was generated on Fri Aug 01 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 1040ms 7.5ms 395.3MB 1000ms 193ms deno 2.4.3
odin 1.odin 2343ms 15ms 49.5MB 2313ms 17ms odin 2024

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 128ms 1.0ms 80.8MB 127ms 30ms deno 2.4.3
odin 1.odin 219ms 4.2ms 7.5MB 207ms 0ms odin 2024

coro-prime-sieve

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 1208ms 1.4ms 122.4MB 1197ms 60ms deno 2.4.3

Input: 1000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 145ms 2.4ms 72.7MB 123ms 23ms deno 2.4.3

fasta

Input: 2500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 2071ms 22ms 59.4MB 1953ms 127ms deno 2.4.3

Input: 250000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 243ms 2.9ms 58.9MB 227ms 20ms deno 2.4.3

helloworld

Input: QwQ

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
odin 1.odin 1.1ms 0.1ms 1.6MB 0ms 0ms odin 2024
typescript 1.ts 26ms 0.8ms 45.5MB 10ms 8ms deno 2.4.3

http-server

Input: 3000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1-m.ts 654ms 1.9ms 246.4MB 597ms 417ms deno 2.4.3
typescript 2-m.ts 668ms 5.5ms 242.8MB 620ms 413ms deno 2.4.3
typescript 1-http2.ts 907ms 2.8ms 248.1MB 870ms 397ms deno 2.4.3
typescript 2-tls.ts 1294ms 7.5ms 266.9MB 1163ms 487ms deno 2.4.3

Input: 500

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 2.ts 167ms 4.3ms 94.7MB 127ms 90ms deno 2.4.3
typescript 1.ts 167ms 2.4ms 94.4MB 123ms 93ms deno 2.4.3
typescript 1-http2.ts 212ms 1.2ms 95.6MB 170ms 90ms deno 2.4.3
typescript 2-tls.ts 269ms 2.2ms 99.4MB 217ms 100ms deno 2.4.3

json-serde

Input: sample 5000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 160ms 2.5ms 94.4MB 157ms 33ms deno 2.4.3

Input: canada 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 1188ms 6.3ms 416.7MB 1300ms 153ms deno 2.4.3

lru

Input: 1000 1000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
odin 1.odin 155ms 1.8ms 1.6MB 150ms 0ms odin 2024
typescript 2.ts 277ms 0.7ms 65.3MB 267ms 13ms deno 2.4.3
typescript 1.ts 590ms 4.7ms 62.6MB 573ms 10ms deno 2.4.3

Input: 1000 3000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
odin 1.odin 456ms 4.1ms 1.6MB 443ms 0ms odin 2024
typescript 2.ts 756ms 5.0ms 71.9MB 740ms 17ms deno 2.4.3
typescript 1.ts 1688ms 7.1ms 69.9MB 1667ms 20ms deno 2.4.3

Input: 100 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
odin 1.odin 71ms 1.8ms 1.5MB 60ms 0ms odin 2024
typescript 2.ts 145ms 2.3ms 59.8MB 130ms 13ms deno 2.4.3
typescript 1.ts 173ms 1.1ms 60.3MB 157ms 13ms deno 2.4.3

merkletrees

Input: 17

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 559ms 5.0ms 229.3MB 570ms 107ms deno 2.4.3

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 154ms 1.0ms 99.9MB 150ms 33ms deno 2.4.3

nbody

Input: 5000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
odin 1.odin 353ms 0.7ms 1.5MB 347ms 0ms odin 2024
odin 1-i.odin 357ms 1.6ms 1.5MB 350ms 0ms odin 2024
typescript 6.ts 466ms 5.0ms 58.3MB 457ms 7ms deno 2.4.3

Input: 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
odin 1.odin 38ms 0.8ms 1.5MB 30ms 0ms odin 2024
odin 1-i.odin 38ms 0.5ms 1.5MB 30ms 0ms odin 2024
typescript 6.ts 78ms 0.8ms 57.5MB 60ms 10ms deno 2.4.3

pidigits

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 3.ts timeout 0.0ms 135.8MB 4973ms 67ms deno 2.4.3

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 3.ts 1176ms 5.1ms 79.4MB 1117ms 77ms deno 2.4.3

secp256k1

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 1930ms 13ms 60.0MB 1940ms 13ms deno 2.4.3

Input: 500

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
typescript 1.ts 522ms 5.3ms 59.6MB 523ms 17ms deno 2.4.3

spectral-norm

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
odin 1.odin 3596ms 2.7ms 2.9MB 3583ms 0ms odin 2024
typescript 7.ts 4029ms 0.6ms 57.6MB 4017ms 13ms deno 2.4.3

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
odin 1.odin 902ms 1.3ms 2.3MB 893ms 0ms odin 2024
typescript 7.ts 1037ms 1.3ms 57.3MB 1020ms 10ms deno 2.4.3

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
odin 1.odin 230ms 1.2ms 1.9MB 220ms 0ms odin 2024
typescript 7.ts 287ms 0.1ms 56.0MB 270ms 10ms deno 2.4.3