Tehnoloģijas

TypeScript revolūcija: Vercel “scriptc” paātrina kodu līdz nebijušam ātrumam

okei.lv redakcija
Dalīties

Vai esat gatavs revolucionārām pārmaiņām? Vebizstrāde, šķiet, nekad neatpūšas, un nu Vercel Labs nāk klajā ar “scriptc” - jaunu kompilatoru, kas sola izmainīt veidu, kā mēs raugāmies uz TypeScript un Node.js aplikāciju veiktspēju. Aizmirstiet par lēnu startēšanu un lieku atmiņas patēriņu - “scriptc” liek kodam darboties “dzimtajā” ātrumā!

Kas ir “scriptc” un kā tas darbojas?

Tradicionāli TypeScript kods tiek pārveidots par JavaScript, kas pēc tam tiek izpildīts, izmantojot, piemēram, Node.js. “scriptc” lauž šo modeli. Tā vietā, lai vispirms tulkotu kodu uz JavaScript, “scriptc” tieši kompilē TypeScript kodu uz natīvām binārām datnēm. Tas nozīmē, ka lielākajā daļā gadījumu jūsu aplikācijai vairs nav nepieciešama atsevišķa Node.js vide vai JavaScript dzinējs, kas ievērojami samazina atkarības un palielina efektivitāti.

Iespaidīgi veiktspējas rādītāji

Vercel Labs ir publicējis datus, kas liecina par patiešām iespaidīgiem uzlabojumiem, salīdzinot “scriptc” ar citiem risinājumiem. Šie rezultāti iegūti uz Apple M sistēmas:

  • Starta laiks: Node.js gadījumā aplikācijas starta laiks bija 47 milisekundes, savukārt ar “scriptc” tas samazinājās līdz tikai 2,4 milisekundēm. Tas ir milzīgs ātruma pieaugums!
  • Binārās datnes izmērs: Kamēr līdzīga funkcionalitāte, kompilēta ar Go, aizņemtu aptuveni 2 megabaitus, “scriptc” ģenerē natīvu izpildāmu failu, kas ir tikai aptuveni 200 kilobaitus liels. Tas nozīmē mazāku diska vietu un ātrāku izplatīšanu.
  • Atmiņas patēriņš: Node.js aplikācija var patērēt līdz pat 116 megabaitiem operatīvās atmiņas, taču “scriptc” izpildāmais fails spēj darboties ar maksimāli 4 megabaitu patēriņu. Tas ir kritiski svarīgi resursu ziņā ierobežotās vidēs.

Saderība ar Node.js un dinamiskā izpilde

Lai nodrošinātu maksimālu saderību ar esošo Node.js ekosistēmu, “scriptc” natīvi implementē lielu daļu no populārākajām Node.js API funkcijām, piemēram, failu sistēmas (fs), ceļu (path), kriptogrāfijas (crypto), HTTP (http, https), tīklošanas (net, dns) un taimeru (timers) iespējas, kā arī fetch API.

Ko darīt ar dinamiskām JavaScript funkcijām, piemēram, npm atkarībām vai kodu, kas nav stingri tipizēts ar any? Šādos gadījumos “scriptc” binārajā datnē ietver vieglu JavaScript dzinēju ar nosaukumu QuickJS-NG. Tas nodrošina, ka pat dinamiskie koda fragmenti var tikt izpildīti efektīvi, nezaudējot veiktspējas priekšrocības statiskām daļām.

Uzstādīšana un pašreizējais statuss

“scriptc” ir atvērtā koda projekts, kas pašlaik atrodas agrīnā izstrādes stadijā (versija 0.0.x). Tas vēl nav sasniedzis stabilu izlaiduma statusu, taču jau piedāvā ieskatu nākotnē.

Lai to izmēģinātu, jums būs nepieciešams Clang kā kompilatora priekšgals un instalācija notiek, izmantojot npm:

npm install -g scriptc

Pašlaik primārā atbalstītā platforma ir macOS arm64, taču Linux un Windows binārās datnes var ģenerēt, izmantojot starpplatformu kompilāciju. Attīstītāji aktīvi strādā pie saderības un funkcionalitātes uzlabošanas.

Kā šī jaunā pieeja varētu mainīt jūsu ikdienu, rakstot kodu? Vai esat gatavs atteikties no tradicionālajām metodēm par labu natīvai veiktspējai?

✎Kļūda rakstā?
Iezīmē tekstu un spied ziņot par kļūdu.

Seko okei.lv

Tehnoloģiju jaunumi latviski. Izvēlies sev ērto tīklu.

Līdzīgi raksti