Benchmarks

tsz has focused on single-file performance so far. Work is underway to make it fast for full projects too.

Summary

show runner info

Generated 2026-07-20T12:17:27Z · sha 68ca432740d8 · tsz release-pgo, 23 PGO training inputs, profile cea2fb8b9c34 · darwin/arm64 · 10 CPUs Apple M1 Max · 32.0 GiB RAM

Sum across 90 successful micro benchmark cases.

tsz
6s
tsgo
22s
tsz 3.68x faster
tsz (Rust compiler) tsgo (Go compiler)

Full Project Type Checking

Full-project rows use real repositories and generated app fixtures.

External libraries

20,151 lines · 742 KB

tsz
37ms
tsgo
117ms
tsz 3.2x faster
View details

16,758 lines · 467 KB

tsz
31ms
tsgo
97ms
tsz 3.1x faster
View details

49 lines · 1 KB

tsz
37ms
tsgo
107ms
tsz 2.9x faster
View details

123 lines · 3 KB

tsz
40ms
tsgo
107ms
tsz 2.7x faster
View details

364 lines · 10 KB

tsz
49ms
tsgo
112ms
tsz 2.3x faster
View details

1,012 lines · 27 KB

tsz
48ms
tsgo
108ms
tsz 2.3x faster
View details

332 lines · 9 KB

tsz
51ms
tsgo
108ms
tsz 2.1x faster
View details

3,903 lines · 87 KB

tsz
56ms
tsgo
109ms
tsz 2.0x faster
View details

1,434 lines · 50 KB

tsz
87ms
tsgo
114ms
tsz 1.3x faster
View details

2,794 lines · 88 KB

tsz
120ms
tsgo
113ms
tsgo 1.1x faster
View details

Generated apps

Programmatically created app projects with framework defaults and common TypeScript dependencies.

282 lines · 7 KB

tsz
85ms
tsgo
111ms
tsz 1.3x faster
View details

Large repositories

222,594 lines · 6,946 KB

tsz
167ms
tsgo
188ms
tsz 1.1x faster
View details

Not charted: canaries, incomplete, or tsz slower than tsgo

Rows that ran but are not in the timed chart: compile canaries, rows without a full tsz and tsgo timing pair, or rows where tsz is at least 1.5x slower than tsgo.

Micro Benchmarks

Focused cases for specific compiler paths: single-file library checks, generated type workloads, and solver stress tests.