Skip to content

TypeScript 7 Benchmarks: Measured Speed Across Three Repos

TypeScript 7 benchmarks on three real repos: official Microsoft figures plus measured GA type-check times, TypeScript 6 vs the native TypeScript 7 tsc.

· · 9 min read

Updated: August 5, 2026

Flat screen monitor displaying compiled program output

Quick Take

TypeScript 7 ran 4.4x to 5.8x faster than TypeScript 6 on the three workspaces of the monorepo behind this site. Official Microsoft numbers plus measured GA times, with the exact commands, configs, and raw runs included.

Run this yourself. The script that produced these numbers, and that will produce yours: typescript-7-benchmark/ in the Coding Dunia code-examples repo. It installs both compilers, type-checks a generated project with each, and prints your own CPU, Node version and date alongside the table.

Quick take: In my own TypeScript 7 benchmarks on a 4-core Linux container, full type-checking ran 4.4x to 5.8x faster than TypeScript 6. The time tracked the imported type surface, not line count: a 2.4k-line package checked slower than a 7k-line app. Microsoft's own figures show 8x to 12x on much bigger codebases. How much you save depends heavily on your repo.

TypeScript 7 speed is the whole reason Project Corsa exists, so I stopped trusting the headline slides and measured it on the three TypeScript workspaces of the monorepo that builds this site. Type-checking with tsc from [email protected] versus the native tsc from [email protected], median times fell from 4.98s, 2.64s, and 6.19s on TS 6 to 1.14s, 0.47s, and 1.07s on TS 7. That's 4.4x for a small API-automation package, 5.6x for an Astro dashboard, and 5.8x for a 74k-line shared library. Notice what didn't happen: nothing hit Microsoft's 10.4x headline, because these repos are a fraction of VS Code's size and fixed costs weigh more. Want the Project Corsa background first? Read the TypeScript 7 hub guide.

What do the official TypeScript 7 benchmarks show?

Microsoft published a tight set of numbers with the GA release. Type-checking the VS Code codebase dropped from 77.8 seconds on TypeScript 6 to 7.5 seconds on TypeScript 7, a 10.4x speedup. Enabling --checkers on a multi-core CI runner trims that further, though Microsoft hasn't published an exact per-flag figure for that specific run, so treat any more granular number you see quoted elsewhere with caution. Editor responsiveness on files with existing type errors improved noticeably too, since the checker no longer has to walk the whole project on a self-hosted JavaScript implementation.

Those are real, reproducible figures. But VS Code is a 1.5 million line beast. Do the gains hold on the kind of app most of us actually ship? That's what I wanted to know.

One note on reading multipliers, here and everywhere else. Every speedup number is tied to one specific repo and one machine. Microsoft's 10.4x is VS Code on their hardware; the roughly 10x quoted in the GA announcement summary comes from different codebases; the 4x to 6x below is this site's own monorepo on a 4-core container. The multipliers differ because the repos differ, not because anyone's numbers are wrong. The only figure that matters for you comes from running both compilers on your own code, which takes about five minutes with the commands below.

Long-exposure light trails from cars curving along a dark road
Photo by Getty Images on Unsplash

How did I measure it?

Same machine every run: a 4-core Linux container with 16 GB RAM, the same class of box that builds and deploys this site. Node 22.22 runs the TS 6 compiler; the TS 7 binary is native Go and needs no Node at all. TS 6 is [email protected], the last JavaScript-based compiler line. TS 7 is [email protected], the GA release, where the native compiler ships as the ordinary tsc:

# TS 6 (JavaScript compiler, runs on Node)
npm install -D typescript@6
./node_modules/.bin/tsc --noEmit

# TS 7 (native Go compiler, no runtime needed)
npm install -D typescript@7
./node_modules/.bin/tsc --noEmit

I ran --noEmit five times per compiler per repo and timed each with a plain shell timer, not hyperfine (it wasn't installed). I report the median of the five runs; the spread within a compiler stayed under 10 percent, apart from one outlier the median ignores anyway. Both compilers ran against identical tsconfig files (moduleResolution: "bundler", skipLibCheck: true, the settings these projects already use in CI) and reported the exact same error count on each repo, 0, 6, and 94, so both were demonstrably doing the same work. Here's the raw run log, milliseconds per full check:

dom-manager  ts6  4977  4944  4933  5056  5501
dom-manager  ts7  1136  1083  1187  1333  1086
dashboard    ts6  2630  2670  2800  2616  2635
dashboard    ts7   484   442   425   473   481
shared       ts6  6160  6395  6185  6305  6100
shared       ts7  1063  1093  1066  1049  1066

TypeScript 7 benchmarks across three real repos

The three repos are the three TypeScript workspaces of the Yarn monorepo behind this site: a small Gmail-and-Jira automation package (dom-manager), an Astro analytics dashboard, and the shared blog toolkit library that renders every page you're reading. Real production code, warts included. LOC counts source .ts only, excluding tests, .d.ts, and node_modules.

Reposource LOCTS 6 medianTS 7 medianSpeedup
automation package~2.4k4.98s1.14s4.4x
Astro dashboard~7k2.64s0.47s5.6x
shared library~74k6.19s1.07s5.8x

The surprise is the smallest repo. At 2.4k lines the automation package should be the quickest check on the table, yet it takes almost twice as long as the dashboard, which has three times the code. Why? It imports the googleapis client, and that one dependency drags an enormous declaration-file graph into every check. Line count didn't predict the time; the imported type surface did. The same repo also gained the least from TS 7, 4.4x against 5.8x, because parsing and binding that mountain of declarations is work no compiler rewrite can skip. The chart shows the per-repo speedups.

Median type-check speedup, TS 7 vs TS 6 (higher is better) automation ~2.4k 4.4x dashboard ~7k 5.6x shared lib ~74k 5.8x tsc 6.0.3 vs tsc 7.0.2 (native), median of 5 runs, 4-core Linux, 16 GB. Higher is better.

The shape is the story, and it isn't the one the slides imply. None of these repos hit Microsoft's 10.4x, and none should: that figure comes from a 1.5 million line codebase where checker throughput dominates and fixed startup costs vanish. On repos this size you get a very consistent 4x to 6x instead. Still transformative in absolute terms. A 6-second check dropping to 1 second turns type-checking from a pause you feel into something you stop noticing, and the whole monorepo now checks in under 3 seconds total. Scale that up to a million-line codebase like the one Microsoft measured and the workflow shift becomes the whole point, not the raw seconds.

One honest caveat on my numbers: I measured full checks, not --incremental rebuilds, and the filesystem cache was warm for every run, so treat these as steady-state figures, not cold CI starts. Warm here means the OS file cache, not TypeScript's own build-info cache. An incremental editor loop would be quicker on both compilers, and I didn't isolate it, so I won't invent a figure for it. If the tight edit-save-recheck loop is your main workflow, benchmark that specifically on your own project.

Does the --checkers flag help?

On the small-to-medium repos I ran, not really. There isn't enough work to spread across cores when the single-threaded check already finishes in under a few seconds. Where it shows is Microsoft's own data: the VS Code check dropped from 77.8s to 7.5s at default settings, and --checkers improves further on a machine with more cores than a typical laptop, though the exact per-flag number for VS Code specifically isn't published. It's a big-monorepo optimization, not a general speed knob.

# spread type-checking across 8 parallel workers
npx tsc --noEmit --checkers 8

My rule of thumb? Below roughly 100k lines, skip it; my repos were nowhere near needing it. Above that, benchmark --checkers against your core count and keep whatever wins. Where this really compounds is CI, where a runner sits idle on spare cores anyway. I broke down that pipeline setup in the TypeScript 7 GitHub Actions guide.

Abstract red and gold streaks of light zooming forward at high speed
Photo by Rana Mia on Unsplash

When do the gains shrink?

Here's the honest caveat: your mileage will vary, sometimes a lot. Type-check speed depends on how gnarly your types are, not just line count. A 20k line file full of deep conditional and mapped types can check slower than a 200k line app of plain interfaces. Heavy .d.ts files from big dependencies, recursive generics, and giant union types all tax the checker, and they tax both compilers.

Repo character compresses or stretches the gap. The declaration-heaviest repo I tested, the googleapis-importing automation package, saw the smallest win at 4.4x precisely because its bottleneck is chewing through a huge dependency type graph, which the Go rewrite speeds up less than plain checking. So don't upgrade expecting a clean 11x everywhere. Expect a large win on heavy full checks and CI, a smaller one where the check was already fast, and the least on type-computation-heavy code. Run your own numbers before you promise a stakeholder anything. Would I still upgrade every project I own? Yes, without hesitation.

Frequently Asked Questions

How much faster is TypeScript 7 in benchmarks?
Microsoft reports 8x to 12x faster full builds. Type-checking the VS Code codebase dropped from 77.8 seconds on TypeScript 6 to 7.5 seconds on TypeScript 7, a 10.4x speedup. In my own GA re-run ([email protected] vs [email protected]) on a 4-core Linux container, median speedups ranged from 4.4x to 5.8x across three workspaces of a production monorepo. Smaller repos on smaller machines land under Microsoft's 8x to 12x headline band, and that's expected.
What is the difference between cold and warm type-check benchmarks?
A cold run type-checks everything from scratch, with no build-info cache. A warm incremental run only rechecks what changed after you edit a file, which is what your editor and pre-commit hook do all day. Both compilers are quick on warm incremental runs, so the dramatic multipliers you see quoted come from full, from-scratch checks like CI. Benchmark both for your own project.
Does the --checkers flag make TypeScript 7 faster?
Mainly on large codebases. The --checkers flag spreads type-checking across parallel workers. Microsoft's own release notes describe further gains on multi-core CI runners for a codebase the size of VS Code, though the exact figure for --checkers 8 specifically isn't published, so treat it as directionally faster rather than a fixed multiplier. On the small-to-medium repos I benchmarked, parallel checkers have little to win because the single-threaded check is already sub-second to a few seconds, so the flag is really a big-monorepo optimization.
Do TypeScript 7 speed gains vary by codebase?
Yes, a lot. Type-check time depends on how complex your types are, not just line count. Deep conditional and mapped types, recursive generics, and large union types tax the checker heavily. A small file of gnarly types can check slower than a huge file of plain interfaces, so you should benchmark your own project before promising a specific number.