Si Jarred Sumner, ang tiglalang ug lead developer sa server-side JavaScript platform nga Bun, mideklarar sa iyang eksperimento sa pag-usab sa proyekto gikan sa Zig ug Rust gamit ang AI assistant Claude Code nga usa ka kalampusan ug nakahukom nga ibalhin ang Bun ngadto sa Rust. Ang pag-usab sa Rust gidawat na sa main repository sa proyekto, ug ang Zig code gikatakda nga tangtangon. Gipahibalo usab sa awtor ni Bun ang pagkuha og mga support staff nga adunay kapin sa lima ka tuig nga kasinatian sa C/C++ ug Rust development.
Sa pagkakaron, usa ka direktang port sa Zig language ang gipatuman sa Rust. Naglakip kini og daghang mga bloke sa dili luwas nga code ug naggamit sa parehas nga arkitektura, mga istruktura sa datos, ug kasamtangang mga external library. Malampuson nga nakapasar ang Rust port sa kasamtangang test suite sa tanang plataporma. Daghang mga memory leak ug mga kapakyasan sa pagsulay ang naayo usab.
Human sa paghimo sa Rust nga bersyon, ang executable mas gamay og 3-8 MB kay sa Zig nga bersyon. Sa mga performance test, ang Rust nga bersyon mas paspas o parehas ra. Apan, sumala ni Jarred, ang labing importante nga bentaha sa Rust nga bersyon mao ang abilidad sa pagdakop ug pagpugong sa mga sayop sa memorya, nga usa ka dako nga buluhaton nga makagugol og panahon alang sa mga developer sa Bun sa bag-ohay nga mga tuig.
Ang mga hinungdan sa pagsulat pag-usab sa Rust kaniadto gikutlo isip tinguha nga ayohon ang mga problema sa Bun nga gipahinabo sa mga memory leak, mga dili pagsinabtanay sa mga tagsulat sa Zig bahin sa paggamit sa AI alang sa pagsulat og code, ug ang palisiya ni Zig bahin sa pagdawat og mga pagbag-o sa pinulongan nga makaguba sa compatibility, nga dili madawat alang sa dagkong mga proyekto.
Ang Bun JavaScript platform gihimo isip usa ka high-performance nga alternatibo sa Node.js ug Deno. Ang proyekto gihimo nga gikonsiderar ang compatibility para sa mga Node.js server application ug nagsuporta sa kadaghanan sa Node.js API. Ang plataporma naglakip sa usa ka hugpong sa mga himan para sa paghimo ug pagpadagan sa mga JavaScript ug TypeScript application, ingon man usa ka runtime para sa pag-execute sa mga JavaScript application nga walay browser, usa ka package manager (compatible sa NPM), mga test tool, usa ka self-contained package builder, ug usa ka layer para sa pag-embed sa mga handler nga gisulat sa C. Sa termino sa performance, ang Bun milabaw pag-ayo sa Deno ug Node.js (sa mga pagsulay base sa React framework, ang Bun milabaw pag-ayo sa Deno sa 2 ka pilo ug ang Node.js sa 5 ka pilo). Ang JavaScript execution gisuportahan sa JavaScriptCore JavaScript engine ug WebKit components nga adunay dugang nga mga patch.
Source: opennet.ru
