Джарред Самнер (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 в отношении принятия в язык изменений, нарушающих совместимость.
بن جاوا اسڪرپٽ پليٽ فارم کي Node.js ۽ Deno جي اعليٰ ڪارڪردگي واري متبادل طور تيار ڪيو پيو وڃي. هي منصوبو Node.js سرور ايپليڪيشنن لاءِ مطابقت کي ذهن ۾ رکندي تيار ڪيو پيو وڃي ۽ Node.js API جي گهڻن کي سپورٽ ڪري ٿو. پليٽ فارم ۾ جاوا اسڪرپٽ ۽ ٽائيپ اسڪرپٽ ايپليڪيشنون ٺاهڻ ۽ هلائڻ لاءِ ٽولز جو هڪ سيٽ شامل آهي، انهي سان گڏ برائوزر کان سواءِ جاوا اسڪرپٽ ايپليڪيشنن کي هلائڻ لاءِ رن ٽائم، هڪ پيڪيج مئنيجر (NPM سان مطابقت رکندڙ)، ٽيسٽ ٽولز، هڪ خود ساخته پيڪيج بلڊر، ۽ C ۾ لکيل هينڊلرز کي ايمبيڊنگ ڪرڻ لاءِ هڪ پرت شامل آهي. ڪارڪردگي جي لحاظ کان، بن خاص طور تي ڊينو ۽ نوڊ.js کان بهتر ڪارڪردگي ڏيکاري ٿو (ري ايڪٽ فريم ورڪ جي بنياد تي ٽيسٽن ۾، بن ڊينو کان 2 جي فيڪٽر ۽ Node.js کان تقريبن 5 جي فيڪٽر تائين بهتر ڪارڪردگي ڏيکاري ٿو). جاوا اسڪرپٽ ايگزيڪيوشن کي JavaScriptCore JavaScript انجن ۽ WebKit حصن پاران اضافي پيچ سان سپورٽ ڪئي وئي آهي.
جو ذريعو: opennet.ru
