Apstiprināts JavaScript platformas Bun tulkojums uz Rust valodu

Džarreds Samners (Jarred Sumner), servera JavaScript platformas Bun radītājs un galvenais izstrādātājs, atzina eksperimenta panākumus, pārrakstot projektu no Zig un Rust valodām, izmantojot AI asistenta Claude Code palīdzību, un pieņēma lēmumu par Bun pārvietošanu uz Rust valodu. Pārrakstītā versija uz Rust jau ir pieņemta galvenajā projekta repozitorijā, bet kods Zig valodā ir paredzēts izslēgšanai. Turklāt Bun autors paziņoja par darbinieku pieņemšanu, kuriem ir vairāk nekā 5 gadu pieredze izstrādē C/C++ un Rust valodās.

Šobrīd uz Rust ir realizēts tiešs ports no Zig valodas, kas ietver daudzas nelabvēlīgas (unsafe) koda daļas, izmanto to pašu arhitektūru, tās pašas datu struktūras un iepriekšējās ārējās bibliotēkas. Tiek atzīmēts, ka ports uz Rust veiksmīgi izgāja pārbaudi ar esošo testu kopumu visās platformās. Paralēli tika novērstas vairākas atmiņas noplūdes un kļūdas testos.

Pēc Rust versijas apkopošanas izpildfajls izrādījās par 3-8 MB mazāks nekā Zig versijā. Veiktspējas testos Rust versija parādījās vai nu ātrāka, vai uz to pašu līmeni. Tajā pašā laikā Džarrads uzskata, ka vissvarīgākais ieguvums no Rust versijas ir iespēja noteikt un novērst kļūdas, kas saistītas ar atmiņas pārvaldību, kuru diagnostika pēdējos gados prasījusi Bun izstrādātājiem daudz laika.

Kā iemesls pārrakstīšanai uz Rust iepriekš tika minēts vēlme novērst Bun problēmas, ko izraisīja atmiņas noplūdes, pastāvošās atšķirības ar Zig autoriem par AI izmantošanu koda rakstīšanā, un Zig nepieņemamā politika attiecībā uz izmaiņām valodā, kas pārkāpj saderību lielos projektos.

JavaScript platform Bun attīstās kā augstas veiktspējas alternatīva Node.js un Deno platformām. Projekts tiek izstrādāts, ņemot vērā saderību ar servera lietojumprogrammām Node.js un atbalsta lielāko daļu Node.js API. Platformā iekļauts rīku komplekts, lai izveidotu un izpildītu lietojumprogrammas JavaScript un TypeScript valodās, kā arī runtime, lai izpildītu JavaScript lietojumprogrammas bez pārlūka, pakotņu pārvaldnieks (saderīgs ar NPM), rīki testēšanai, pašpietiekamu pakotņu būvniecības sistēma un starpslānis, lai iekļautu C valodā rakstītus apstrādātājus. Attiecībā uz veiktspēju Bun ievērojami apsteidz Deno un Node.js (testos, kas balstīti uz React ietvaru, platforma Bun divreiz apsteidz Deno un gandrīz piecas reizes Node.js). JavaScript izpildei tiek izmantots JavaScript dzinējs JavaScriptCore un WebKit projekta komponentes ar papildu saderības labojumiem.

Avots: opennet.lv

Iegādājieties uzticamu tīmekļa hostingu ar DDoS aizsardzību, VPS VDS serveriem 🔥 Iegādājieties uzticamu tīmekļa hostingu ar DDoS aizsardzību, VPS VDS serveriem | ProHoster