Schválený preklad JavaScript platformy Bun na jazyk Rust

Jarred Sumner, zakladateľ a hlavný vývojár serverovej JavaScript platformy Bun, uznal úspešný experiment s prepisovaním projektu z jazyka Zig a Rust pomocou AI asistenta Claude Code a rozhodol sa o prevode Bun na jazyk Rust. Prepisovaná verzia v jazyku Rust bola už prijatá do hlavného repozitára projektu a kód v jazyku Zig je plánovaný na odstránenie. Autor Bun tiež oznámil nábor zamestnancov na podporu Bun, ktorí majú viac ako 5 rokov skúseností s vývojom v jazykoch C/C++ a Rust.

Momentálne je implementovaný priamy port z jazyka Zig do Rustu, ktorý zahŕňa množstvo blokov unsafe kódu, využíva tú istú architektúru, tie isté dátové štruktúry a predchádzajúce externé knižnice. Je pozoruhodné, že port na Rust úspešne prešiel testovaním existujúcim testovacím balíkom na všetkých platformách. Počas tohto procesu bolo odstránených niekoľko únikov pamäte a chýb v testoch.

Po zostavení verzie na Rust sa vykonávací súbor ukázal byť o 3-8 MB menší ako pri zostavení verzie na Zig. V testoch výkonu bola verzia na Rust buď rýchlejšia, alebo na rovnakej úrovni. Podľa Jarreda je najdôležitejšou výhodou verzie na Rust schopnosť zachytávať a predchádzať chybám pri práci s pamäťou, čo posledné roky odčerpávalo veľa času vývojárov Bun.

Ako dôvod prepisovania na Rust bolo predtým uvedené želanie odstrániť problémy v Bun spôsobené únikmi pamäte, existujúce rozpory s autormi Zig pokiaľ ide o používanie AI na písanie kódu a neprijateľná politika Zig týkajúca sa prijímania zmien narúšajúcich spätnú kompatibilitu vo veľkých projektoch.

JavaScript platform Bun sa vyvíja ako vysokovýkonný alternatívny systém k platformám Node.js a Deno. Projekt sa vyvíja s dôrazom na zabezpečenie kompatibility so serverovými aplikáciami pre Node.js a podporuje väčšinu API Node.js. Súčasťou platformy je súbor nástrojov na vytváranie a vykonávanie aplikácií v jazykoch JavaScript a TypeScript, ako aj runtime pre vykonávanie JavaScript aplikácií bez prehliadača, správca balíkov (kompatibilný s NPM), nástroje na vykonávanie testov, systém na zostavovanie samostatných balíkov a medzivrstva na začlenenie spracovateľov napísaných v jazyku C. Z pohľadu výkonu Bun významne prekonáva Deno a Node.js (v testoch na báze frameworku React platforma Bun 2-krát predbehne Deno a takmer 5-krát Node.js). Na vykonávanie JavaScriptu sa využíva JavaScript engine JavaScriptCore a komponenty projektu WebKit s dodatočnými patchmi.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster