Релиз серверной JavaScript-платформы Bun 1.4, переписанной с Zig на Rust
Представлен выпуск платформы Bun 1.4, предназначенной для обособленного выполнения приложений, написанных на языках JavaScript и TypeScript, и нацеленной на использование в качестве прозрачной замены платформы Node.js. Ветка 1.4 примечательная переводом кодовой базы с языка Zig на язык Rust, осуществлённым с использованием AI-инструментов Claude. Код продолжает распространяться под лицензией MIT.
В качестве причины переписывания на Rust отмечается желание устранить проблемы в Bun, вызванные утечками памяти, а также наличие разногласий с авторами Zig в плане применения AI для написания кода и неприемлемая для крупных проектов политика Zig в отношении принятия в язык изменений, нарушающих совместимость. В качестве главного преимущества перехода на Rust упоминается возможность отлавливания и предотвращения ошибок при работе с памятью, диагностика которых последние годы отнимала у разработчиков Bun много времени.
Судя по проведённым тестам, версия на Rust потребляет на 13–48% меньше памяти, запускается в два раза быстрее и до 5 раз меньше нагружает CPU в режиме простоя. Размер исполняемого файла в версии на Rust сократился на 17%. При запуске при помощи Bun 1.4 приложения Claude Code нагрузка на CPU уменьшилась в два раза.
В состав включено 1517 дополнительных тестов для проветки совместимости и устранено более 2900 проблем. В базовую поставку добавлены новые библиотеки Bun.Image, Bun.WebView, Bun.markdown, Bun.cron () и Bun.Terminal. В командах «bun run» и «bun test» реализован режим параллельного запуска (--parallel). Обеспечена совместимость с фреймворками Next.js 16 и vitest.
Проект Bun поддерживает большую часть API Node.js. В состав платформы входит набор инструментов для создания и выполнения приложений на языках JavaScript и TypeScript, а также runtime для выполнения JavaScript-приложений без браузера, пакетный менеджер (совместимый с NPM), инструментарий для выполнения тестов, система сборки самодостаточных пакетов и прослойка для встраивания обработчиков, написанных на языке Си. По производительности Bun заметно обгоняет Deno и Node.js (в тестах на базе фреймворка React платформа Bun в 2 раза опережает Deno и почти в 5 раз Node.js). Для выполнения JavaScript задействован JavaScript-движок JavaScriptCore и компоненты проекта WebKit с дополнительными патчами.
Источник: http://www.opennet.ru/opennews/art.shtml? num=66111
© OpenNet
