programmatūra · 4 min · 11.07.2026

TypeScript 7 pārcelts uz Go: tipu pārbaude līdz 10 reizēm ātrāka

8. jūlijā Microsoft izlaida stabilo TypeScript 7.0 versiju, kurā kompilators pirmoreiz nav rakstīts TypeScript un JavaScript valodā, bet gan Go. Rezultāts ir izmērāms: tsc tagad pārbauda tipus vairākas reizes ātrāk nekā līdzšinējais 6.0. VS Code pašu pirmkodu, kas pārsniedz miljonu koda rindu, jaunais kompilators pārbauda 10,6 sekundēs — vecais tam tērēja 125,7 sekundes.

Svarīga niansa slēpjas vārdā pārcelts, nevis pārrakstīts. Microsoft komanda uzsver, ka Go kods tika soli pa solim pārnests no esošās implementācijas, un tipu pārbaudes loģika ir strukturāli identiska 6.0 versijai. Tas nozīmē, ka jūsu projekts saņem to pašu rezultātu — tikai daudz ātrāk.

Kāpēc Go un kāpēc tik ātri

Vecais kompilators darbojās uz JavaScript dzinēja un vienā pavedienā. Go kompilējas mašīnkodā un ļauj tipu pārbaudi sadalīt vairākos pavedienos ar koplietotu atmiņu. Pēc noklusējuma TypeScript 7 izmanto četrus pārbaudītājus (--checkers 4), bet skaitu var palielināt.

Microsoft oficiālajā paziņojumā uzrāda vairāku publisku projektu skaitļus ar noklusējuma iestatījumu: Sentry no 139,8 uz 15,7 sekundēm (8,9x), Bluesky no 24,3 uz 2,8 sekundēm, Playwright no 12,8 uz 1,47 sekundēm. Ar --checkers 8 VS Code pilna pārbaude nokrīt līdz 7,51 sekundei — tas ir 16,7 reizes ātrāk par 6.0.

Redaktorā atšķirību jūt uzreiz. VS Code atverot lielu failu, pirmā tipu kļūda agrāk parādījās pēc 17,5 sekundēm; tagad tas notiek zem 1,3 sekundēm. Samazinājās arī atmiņas patēriņš — VS Code pirmkoda pārbaudei no 5,2 uz 4,2 GB, Bluesky no 1,8 uz 1,3 GB.

10x ne visiem

Oficiālais “8–12 reizes” attiecas uz projektiem ar daudziem failiem un vienkāršiem tipiem. Kur tipu sistēma ir dziļa, ieguvums ir mazāks. Neatkarīgs izstrādātājs testos uz M4 Mac mini ieguva citus skaitļus: drizzle-orm paātrinājās 3,9 reizes, tipu ziņā smagā Effect bibliotēka 5,3 reizes, un tikai lielā, bet tipu ziņā vienkāršā lobe-chat lietotne sasniedza 7,3 reizes.

Iemesls ir tehnisks. Ja projekts balstās uz dziļu tipu instancēšanu viena faila iekšienē, to nevar sadalīt starp četriem pavedieniem, un lielākā daļa ieguvuma nāk no paša mašīnkoda, nevis no paralēlisma. Tāpēc pirms plānojat CI laika ietaupījumu, pārbaudiet savu konkrēto kodu — nevis paļaujieties uz reklāmas skaitli.

Go kods tika metodiski pārnests no esošās implementācijas, nevis rakstīts no jauna, un tā tipu pārbaudes loģika ir strukturāli identiska TypeScript 6.0.

Kā pāriet

Instalācija ir tā pati komanda, ko lietojāt vienmēr:

npm install -D typescript

Pēc tam npx tsc palaiž jauno Go kompilatoru. Ja kāds rīks vēl prasa veco versiju — piemēram, typescript-eslint —, Microsoft piedāvā saderības pakotni @typescript/typescript6, kas dod tsc6 bināro failu un veco programmatūras saskarni.

Ir arī lūzumi, ko vērts zināt pirms atjaunināšanas. Vairs netiek atbalstīts target: es5. Izņemts baseUrl — tā vietā jālieto paths. Iestatījums types pēc noklusējuma tagad ir tukšs saraksts, agrāk tas iekļāva visu. Mainījusies arī rootDir noklusējuma vērtība. Lielos projektos šie iestatījumi var prasīt tsconfig.json labošanu.

Kas vēl nestrādā

Galvenais robs skar iegultās valodas. Vue, Svelte, Astro, MDX un Angular veidnes pagaidām nevar izmantot TypeScript 7, jo tas vēl nepiedāvā stabilu programmatisku saskarni, uz kuras balstās šo rīku tipu pārbaude. Microsoft sola šo saskarni 7.1 versijā. Līdz tam Vue vai Svelte projekta izstrādātājs jauno ātrumu redzēs komandrindā, bet ne redaktora tipu pārbaudē.

Jaunais kompilators darbojas caur Language Server Protocol, tāpēc atbalsts nav piesiets tikai VS Code. Visual Studio TypeScript 7 ieslēdz automātiski, bet citiem redaktoriem pietiek ar LSP savienojumu.

Praktiskais padoms šodienai: ja jūsu projekts ir tīra TypeScript lietotne ar daudziem failiem, atjauniniet un mēriet — ieguvums, visticamāk, būs jūtams. Ja tas ir tipu ziņā smags bibliotēkas kods vai balstās uz Vue un Svelte, pagaidiet 7.1 un vispirms pārbaudiet lūzumu sarakstu.

Avoti

komentārisaruna

Komentāri

Šim rakstam vēl nav komentāru. Esi pirmais, kurš dalās ar savu viedokli.

Pievieno komentāru

Tavs e-pasts netiks publicēts. Obligātie lauki atzīmēti.

vēl no programmatūrasaistītie