Утверждён перевод JavaScript-платформы Bun на язык Rust

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

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

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

В качестве причины переписывания на Rust ранее отмечалось желание устранить проблемы в Bun, вызванные утечками памяти, наличие разногласий с авторами Zig в плане применения AI для написания кода и неприемлемая для крупных проектов политика Zig в отношении принятия в язык изменений, нарушающих совместимость.

La piattaforma JavaScript Bun è in fase di sviluppo come alternativa ad alte prestazioni a Node.js e Deno. Il progetto è stato concepito per garantire la compatibilità con le applicazioni server Node.js e supporta la maggior parte delle API di Node.js. La piattaforma include una serie di strumenti per la creazione e l'esecuzione di applicazioni JavaScript e TypeScript, nonché un runtime per l'esecuzione di applicazioni JavaScript senza browser, un gestore di pacchetti (compatibile con NPM), strumenti di test, un generatore di pacchetti autonomo e un livello per l'integrazione di gestori scritti in C. In termini di prestazioni, Bun supera significativamente Deno e Node.js (nei test basati sul framework React, Bun supera Deno di un fattore 2 e Node.js di un fattore quasi 5). L'esecuzione di JavaScript è supportata dal motore JavaScriptCore e dai componenti WebKit con patch aggiuntive.

Fonte: opennet.ru

Acquista hosting affidabile per siti con protezione DDoS, server VPS VDS 🔥 Acquista un hosting web affidabile con protezione DDoS, server VPS e VDS | ProHoster