Raksts

TypeScript 7: ātrāks kompilators un paralēla darbība

TypeScript 7 ar Go pārrakstītu kompilatora kodolu ievērojami paātrina izstrādātāja darba plūsmu: ātrāka VS Code atsaucība, īsāks CI laiks un paralēla tipu pārbaude. Ekosistēmai būs nepieciešams īss pielāgošanās periods.

TypeScript 7: ātrāks kompilators un paralēla darbība
Lasīšanas laiks: 3 Minūtes
Sekot Google

Atveriet lielu TypeScript repozitoriju un jūs varat to sajust: kavēšanās, kas agrāk vajāja redaktorus, sarūk. Faili atveras uzreiz. Kļūdas parādās gandrīz momentāni. Šī pārmaiņa nav neliela labojuma; tā ir pārrakstīšana.

Pamatā: Go, paralēls darbs un mazāk pārsteigumu

Microsoft izlaida TypeScript 7 galveno versiju pēc tam, kad kompilatora kodolu pārveidoja Go. Rezultāts līdzinās stāstam par berzes noņemšanu: pilna projekta kompilācijas laiki daudzos gadījumos ir par 8 līdz 12 reizēm ātrāki. Reālās pasaules mērījumi to apstiprina. Piemēram VS Code pirmajā lielā projektā ziņotā kļūda parādījās no aptuveni 17.5 sekundēm līdz zem 1.3 sekundēm, kas ir vairāk nekā 13 reizes ātrāk.

Ātrums nav vienīgā būtība. Jaunā versija paralelizē rīku ķēdes galvenās fāzes: parsēšana, tipu pārbaude un izvade tagad, kur iespējams, darbojas vienlaikus. Šī izmaiņa ir svarīga, jo mūsdienu kodu bāzes ir gan platas, gan dziļas. Paralēlisms maina matemātiku. Komandas var noregulēt uzvedību ar jaunajām karodziņu opcijām: --checkers un --builders nosaka, cik daudz paralēlu darbinieku darbojas, savukārt --singleThreaded ļauj izstrādātājiem piespiest vienvītņu izpildi atkļūdošanas vai zemas jaudas vidēs.

TypeScript 7 netika izlaists tikai laboratorijā. Slack, Canva, Google, Bloomberg, Figma, Notion un vairākas Microsoft komandas, tostarp Teams, Office un Xbox, piedalījās testēšanā. Jaunais kompilators samazināja Language Server kļūdu skaitu vairāk nekā par 80 procentiem un samazināja servera avārijas vairāk nekā par 60 procentiem. Šādi rādītāji nozīmē mazāku laiku gaidīšanai un retākas negaidītas pārtraukšanas.

Pierādījumi CI cauruļvadā ir pārliecinoši. Slack ziņo par 40 procentu kritumu sapludināšanas rindu gaidīšanas laikos un min, ka tipu pārbaude CI samazinājās no aptuveni 7.5 minūtēm līdz 1.25 minūtēm. Microsoft News Services lēš, ka pēc pārejas uz TypeScript 7 CI gaidīšanas laika samazināšanas ietaupās aptuveni 400 stundas mēnesī. Šīs minūtes strauji sakrājas daudzām izstrādes komandām.

Tomēr ne viss ieslēdzas automātiski. Rīki un integrācijas ekosistēmā joprojām prasa laiku. Microsoft vēl nav stabilizējis rīku API jaunajai izpildes videi; šo darbu paredzēts pabeigt versijā 7.1. Līdz tam dažas ietvarstruktūras un rīki nevar pilnībā izmantot jaunos iekšējos mehānismus. Vue, Svelte, Astro, MDX un Angular ir starp projektiem, kuriem var būt nepieciešami atjauninājumi, lai tie pilnībā gūtu labumu.

Lai atvieglotu migrāciju, Microsoft izlaida saderības pakotni typescript/typescript6@, lai komandas varētu paralēli darbināt versijas 6 un 7, kamēr atjaunina būvniecības rīkus un spraudņus. Šis pragmatiskais solis samazina risku lielām organizācijām, kuras nevar nomainīt kompilatorus vienā nakts laikā.

Kopsavilkums: TypeScript 7 sola būtiski ātrāku izstrādātāja pieredzi, taču ekosistēmai būs nepieciešams īss laiks, lai panāktu nozares atjauninājumus un visi gūtu pilno labumu.

Tātad ko izstrādes komandas var darīt tagad? Izmēģiniet TypeScript 7 atzara versijā, izmērījiet CI un redaktora atsaucību un plānojiet spraudņu atjauninājumus nākamajos mēnešos. Ātruma pieaugums ir reāls, bet pāreja ir divpakāpju process: ātrāks kompilators un ekosistēma, kas pielāgojas tā ritmam.

Artūrs Ozoliņš

"IT speciālists un žurnālists. Es rakstu par kiberdrošību, blokķēdēm un digitālo transformāciju."

Atstāt komentāru

Komentāri

Vēl nav komentāru. Esiet pirmais.