Jarred Sumner, Bun serveri JavaScript platvormi looja ja peamine arendaja, tunnustas edukat katset projekti ümberkirjutamisel Zig ja Rust keeltest AI-assistendi Claude Code abil ning otsustas viia Buni Rust keelele. Rust keeles ümber kirjutatud variant on juba vastuvõetud projekti põhirepositooriumisse ning Zig keeles olevale koodile on plaanitud kustutamine. Samuti teatas Bun autor töötajate palkamisest, kellel on üle 5 aasta C/C++ ja Rust keelte arendamise kogemus.
Praeguseks on Rustis realiseeritud otsepord Zig keelt, mis sisaldab rohkelt unsafe koodi ja kasutab sama arhitektuuri, samu andmestruktuure ning varasemaid väliseid raamatukogusid. Märgitakse, et Rustile port on edukalt läbinud kontrolli olemasoleva testkomplekti abil kõigil platvormidel. Samuti on kõrvaldatud mitmed mälu lekkeid ja testide kokkuvarisemisi.
Pärast Rusti versiooni koostamist tuli täitmisfail 3-8 MB väiksem võrreldes Zig'i versiooniga. Tulemuskatsetes oli Rusti versioon kas kiirem või sama tasemel. Samuti usub Jared, et kõige olulisem eelis Rusti variandi puhul on mälu vigade tuvastamise ja ennetamise võimalus, mille diagnostika on viimastel aastatel võtnud Bun arendajatelt tohutult aega.
Rustile ülemineku põhjuseks on varem nimetatud soov lahendada Bun'is esinevaid mälu leketega seotud probleeme, erimeelsused Zig'i autoritega seoses AI kasutamisega koodi kirjutamiseks ning Zig'i ebaadekvaatne poliitika suurte projektide jaoks, mis puudutab keele muutuste vastu võtmist, mis rikuvad ühilduvust.
JavaScript platvorm Bun areneb kõrge jõudlusega vastena Node.js ja Deno platvormidele. Projekt arendatakse silmas pidades ühilduvust Node.js serverirakendustega ja toetab enamikku Node.js API-dest. Platvorm sisaldab tööriistade komplekti rakenduste arendamiseks ja käitamiseks JavaScripti ja TypeScripti keeltes, samuti runtime-i JavaScripti rakenduste käitamiseks ilma brauserita, paketihalduri (NPM-iga ühilduv), testimisvahendite komplekti, iseseisvate pakettide koostamis süsteemi ja sildimistöötlust C keeles kirjutatud käitlejate integreerimiseks. Jõudluses tõmbab Bun märgatavalt ette Deno ja Node.js-st (React raamistiku põhjalike testide käigus ületab platvorm Bun Deno kaks korda ja Node.js ligi viis korda). JavaScripti töötlemiseks kasutatakse JavaScripti mootorit JavaScriptCore ja WebKit projekti komponente koos täiendavate plaastritega.
Allikas: opennet.ru
