Faster TypeScript for the age of AI.

I measure what slows the type checker down and fix it upstream, so types keep catching mistakes, whoever wrote the code.

Portrait of Martin Ferret
Martin Ferret TypeScript expert

The record keeps climbing

Counted at build from GitHub on Nov 11, 2026.

Full timeline

Public contributions since Jul 28, 2026

05101520AugSepOctNovJul 28, 2026: Docs: how channel pools are sized in Spring AMQP (Spring AMQP #3528)Aug 6, 2026: Per-listener batch size and timeout in Spring AMQP (Spring AMQP #3549)Oct 20, 2026: Pizzeria del Compilator: Building a Type-Safe Configurator with TypeScript (Frontend Nation 2026, TypeScript Day)Nov 1, 2026: Helping a first-time contributor fix AbortSignal.any (TypeScript DOM types #2574)Nov 1, 2026: Why TypeScript picks the second overload (Stack Overflow)Nov 3, 2026: Byte stream types for WebTransport (TypeScript DOM types #2439)Nov 3, 2026: MutationObserver.observe() without options is now a compile error (TypeScript DOM types #2578)Nov 3, 2026: A Nullish type that works with exactOptionalPropertyTypes (type-fest #1285)Nov 3, 2026: DeepValuesOf is already expressible with Paths and Get (type-fest #1315)Nov 3, 2026: Typed events: the elegant type that slowed down every call site (Performance Lab #001)Nov 3, 2026: TypeScript 6 vs 7 on type-fest (Performance Lab #002)Nov 5, 2026: What remains after making MutationObserver options required (TypeScript DOM types #2566)Nov 6, 2026: createElementNS returns the exact element type for XHTML (TypeScript DOM types #2582)Nov 6, 2026: Docs: fixing the TS2882 error on CSS imports (TypeScript website #3694)Nov 6, 2026: Error subtypes and InstanceType: a compatibility risk, reproduced (TypeScript #61460)Nov 8, 2026: Scheduler.postTask keeps the type of your callback’s result (TypeScript DOM types #2583)Nov 9, 2026: Shared WebAssembly memories get the right buffer type (TypeScript DOM types #2592)Workshop at Frontend Nation 2026First merge in TypeScript’s DOM types17
All public contributions, talks and experimentsMerged pull requests (5)Hover a dot for the item
TypeScript Performance Lab

Measured, not guessed

Each experiment ships its code, the exact command and the raw results, with the machine they ran on.

Lab #001Confirmed

Typed events

−57%check time with TypeScript 7 after the fix

Yes. Inferring the event name from the generic parameter cut check time by about 40% with TypeScript 6 and by about 65% with TypeScript 7, with the same type safety. Narrowing include to src also stopped TypeScript from reading a generated file the app never imports.

Read the experiment
Before the fixAfter the fixMedian check time, lower is faster
Lab #002Open question

TypeScript 6 vs 7 on type-fest

3.5×faster check of type-fest sources, TypeScript 7 vs 6

On an Apple M3 Pro (12 cores), TypeScript 7.0.2 checked the type-fest sources 3.5× faster than TypeScript 6.0.3 (0.484 s vs 1.67 s): 2.6× comes from the native compiler alone (single-threaded) and 1.3× from parallel checking. On the full suite with type tests, TypeScript 6 stops at Node.js's default heap limit (4.0 GiB); with a 16 GiB heap it finishes in 74.6 s, against 14.1 s for TypeScript 7 (5.3× faster), but TypeScript 7 peaks higher in memory (11.6 GiB RSS vs 10.4 GiB). Stays open until a second machine is measured with the same protocol.

Read the experiment
TypeScript 6TypeScript 7Median check time, lower is faster

Fixes merged into TypeScript

Accepted by Microsoft’s maintainers. Each one turns a runtime surprise into a type you can trust.

All contributions
Community meetup

7Thursday
January 2027

What's up TypeScript France #1

7 pm Paris time (CET, UTC+1). Online, in French, free.

Two 20-minute talks, live questions and the TypeScript news of the moment. Free, streamed live on YouTube with a replay.

Call for talks open until Dec 15, 2026. Meetup page on GitHub