„Bun“ JavaScript sistema buvo patvirtinta vertimui į „Rust“.

Jarredas Sumneris, serverio pusės „JavaScript“ platformos „Bun“ kūrėjas ir pagrindinis vystytojas, paskelbė, kad jo eksperimentas perrašyti projektą iš „Zig“ ir „Rust“ naudojant dirbtinio intelekto asistentą Claude'ą Code'ą buvo sėkmingas, ir nusprendė perkelti „Bun“ į „Rust“. „Rust“ perrašymas jau buvo priimtas į pagrindinę projekto saugyklą, o „Zig“ kodas planuojamas ištrinti. „Bun“ autorius taip pat paskelbė apie palaikymo personalo, turinčio daugiau nei penkerių metų C/C++ ir „Rust“ kūrimo patirtį, samdymą.

Šiuo metu „Rust“ sistemoje įdiegtas tiesioginis „Zig“ kalbos perkėlimas. Jame yra daug nesaugaus kodo blokų ir naudojama ta pati architektūra, duomenų struktūros ir esamos išorinės bibliotekos. „Rust“ perkėlimas sėkmingai išlaikė esamą testų rinkinį visose platformose. Taip pat buvo ištaisytos kelios atminties nutekėjimo ir testų klaidos.

Sukūrus „Rust“ versiją, vykdomasis failas buvo 3–8 MB mažesnis nei „Zig“ versijos. Našumo testuose „Rust“ versija buvo arba greitesnė, arba lygiavertė. Tačiau, pasak Jarredo, svarbiausias „Rust“ versijos privalumas buvo gebėjimas aptikti ir užkirsti kelią atminties klaidoms, kurios pastaraisiais metais „Bun“ kūrėjams buvo labai daug laiko reikalaujanti užduotis.

Anksčiau perrašymo į „Rust“ priežastis buvo noras išspręsti „Bun“ problemas, atsiradusias dėl atminties nutekėjimo, nesutarimai su „Zig“ autoriais dėl dirbtinio intelekto naudojimo kodo rašymui ir „Zig“ politika dėl kalbos pakeitimų, kurie sutrikdo suderinamumą, priėmimo, o tai nepriimtina dideliems projektams.

„Bun“ JavaScript platforma kuriama kaip didelio našumo alternatyva „Node.js“ ir „Deno“. Projektas kuriamas atsižvelgiant į suderinamumą su „Node.js“ serverio programomis ir palaiko daugumą „Node.js“ API. Platforma apima įrankių rinkinį, skirtą „JavaScript“ ir „TypeScript“ programoms kurti ir vykdyti, taip pat vykdymo aplinką, skirtą „JavaScript“ programoms vykdyti be naršyklės, paketų tvarkyklę (suderinamą su NPM), testavimo įrankius, savarankišką paketų kūrimo priemonę ir sluoksnį, skirtą C kalba parašytų tvarkyklių įterpimui. Kalbant apie našumą, „Bun“ gerokai lenkia „Deno“ ir „Node.js“ (testuose, pagrįstuose „React“ sistema, „Bun“ lenkia „Deno“ 2 kartus, o „Node.js“ – beveik 5 kartus). „JavaScript“ vykdymą palaiko „JavaScriptCore“ JavaScript variklis ir „WebKit“ komponentai su papildomais pataisymais.

Šaltinis: opennet.ru

Pirkite patikimą prieglobą svetainėms su DDoS apsauga, VPS VDS serveriais 🔥 Įsigykite patikimą svetainių talpinimą su DDoS apsauga, VPS VDS serveriais | ProHoster