Одобрен е преводът на платформата JavaScript Bun на езика Rust

Джарред Самнер (Jarred Sumner), създателят и основният разработчик на сървърната JavaScript платформа Bun, призна успешния експеримент по пренаписването на проекта от Zig и Rust с помощта на AI асистента Claude Code и реши да прехвърли Bun на Rust. Пренаписаната версия на Rust вече е приета в основния репозиторий на проекта, а кодът на Zig е предвиден за изтриване. Освен това, авторът на Bun обяви наемането на служители с над 5 години опит в разработката на C/C++ и Rust.

В момента пряк порт на Rust от Zig е реализиран, който включва множество блокове unsafe код, използва същата архитектура, същите структури от данни и предишни външни библиотеки. Отбелязва се, че портът на Rust успешно премина тестовия набор на всички платформи. В същото време, няколко проблема с течове на памет и сривове в тестовете бяха отстранени.

След сглобяването на версията на Rust, изпълнимият файл стана с 3-8 МБ по-малко в сравнение с версията на Zig. В тестовете за производителност версията на Rust беше или по-бърза, или с подобни показатели. Според Джарред, най-важното предимство на версията на Rust беше възможността за улавяне и предотвратяване на грешки при работа с паметта, за диагностицирането на които разработчиците на Bun губеха много време през последните години.

Като причина за пренаписването на Rust, преди е било посочено желанието да се решат проблемите в Bun, причинени от течове на памет, неразбирателства с авторите на Zig относно използването на AI за писане на код и неприемливата за големи проекти политика на Zig относно приемането на промени, нарушаващи съвместимостта.

JavaScript платформата Bun се развива като високопроизводителен аналог на платформите Node.js и Deno. Проектът се разработва с оглед на осигуряване на съвместимост с серверни приложения за Node.js и поддържа голяма част от API на Node.js. В състава на платформата влиза набор от инструменти за създаване и изпълнение на приложения на езиците JavaScript и TypeScript, както и runtime за изпълнение на JavaScript приложения без браузър, пакетен мениджър (съвместим с NPM), инструментарий за изпълнение на тестове, система за изграждане на самодостатъчни пакети и слой за вграждане на обработвачи, написани на езика C. По производителност Bun значително изпреварва Deno и Node.js (в тестове на база фреймворка React, платформата Bun е два пъти по-бърза от Deno и почти пет пъти по-бърза от Node.js). За изпълнението на JavaScript се използва JavaScript двигател JavaScriptCore и компоненти на проекта WebKit с допълнителни пачове.

Източник: opennet.ru

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster