Искусственный интеллект (ИИ) был использован для перевода компилятора TypeScript на язык Rust. Компания Microsoft уже использует некоторые из оптимизаций, обнаруженных в процессе этой работы, в версии TypeScript 7.1.

Содержание.

Компания Cloudflare, вместе с приобретенной в июне компанией VoidZero, взяла на себя разработку проекта tsrs, который представляет собой порт компилятора TypeScript, написанный на языке Rust, о чем компания сообщила во вторник. Разработка этого открытого проекта была начата всего в конце сентября одним из разработчиков, поскольку компилятор TypeScript требовал слишком большого объема оперативной памяти на его рабочем месте. Проект tsrs переписывает реализацию TypeScript от Microsoft на язык Rust, функция за функцией, и призван напрямую заменить компилятор и сервер языка. В настоящее время tsrs также является частью Oxc, инструментальной цепочки для JavaScript, основанной на языке Rust, разработанной компанией VoidZero.

По данным компании Cloudflare, компилятор tsrs обрабатывает код примерно в восемь раз быстрее, чем TypeScript 7.0, и потребляет на 70 процентов меньше оперативной памяти, при этом оба инструмента используют одинаковое количество потоков. Основатель проекта более сдержанно оценивает производительность tsrs по сравнению с текущим уровнем разработки компилятора Go от Microsoft. По его словам, в 17 проектах с открытым исходным кодом tsrs работает в 2,5-5 раз быстрее и требует лишь примерно в три раза меньше памяти.

Компания Cloudflare объясняет необходимость создания версии на языке Rust после реализации Go-порта тем, что использование WebAssembly (Wasm) позволяет оптимизировать работу программ. Программа, написанная на Go и скомпилированная для Wasm, должна включать в себя сборщик мусора, в то время как Rust обходится без него, что, по словам Cloudflare, экономит память. Кроме того, компания напрямую выигрывает от использования tsrs, когда AI-агенты должны выполнять полные цепочки инструментов разработки в изолированных средах на платформе Workers.

Перенесено с использованием технологий искусственного интеллекта.

Инструмент tsrs изначально был разработан Максом Швенком. Он отвечает за инструменты разработки искусственного интеллекта в компании Owner.com, поставщике программного обеспечения для ресторанов. В ходе работы он столкнулся со случаем, когда использование TypeScript 7.0 при проверке бэкенда, состоящего из примерно 37 000 файлов, требовало 19 гигабайт оперативной памяти и занимало 80 секунд в одном потоке, что оставляло очень мало ресурсов для параллельной работы с кодом. Портирование было выполнено с использованием искусственного интеллекта, а именно модели Anthropic Claude Opus 5.5. Сам Швенк не написал ни одной строки кода, по его словам.

Согласно проектной документации, система tsrs в наборе тестов соответствия TypeScript практически во всех случаях соответствует исходному коду, за исключением небольшого количества ошибок, которые команда разработчиков связывает с особенностями тестовой среды. Швенк объясняет передачу проекта команде Oxc тем, что он хотел передать его людям, которые профессионально занимаются поддержкой инструментов на языке Rust.

Компания Microsoft внимательно следит за развитием технологий и ускоряет работу TypeScript версии 7.1.

Во вторник компания Microsoft выпустила бета-версию TypeScript 7.1, которая, по данным производителя, требует на 13–47 процентов меньше времени для проверки кода по сравнению с версией TypeScript 7.0 в пяти различных кодовых базах. В комментарии на сайте Hacker News Даниэль Розенвассер из команды разработчиков TypeScript подтвердил, что часть этих улучшений производительности связана с оптимизациями в компоненте tsrs. Его команда также экспериментировала с языком Rust, и он предполагает, что значительная часть прироста скорости не так сильно зависит от самого языка программирования.

Компания Cloudflare отказалась от создания альтернативной версии языка TypeScript, подчеркнув, что дальнейшее развитие этого языка должно определяться исключительно командой разработчиков TypeScript в Microsoft. Чтобы обеспечить соответствие этой версии изменениям, вносимым в основной проект TypeScript, планируется использовать системы искусственного интеллекта, которые будут ежедневно анализировать репозиторий TypeScript и предлагать соответствующие исправления.

Файлы для Windows пока недоступны.

Компания Cloudflare подчеркивает экспериментальный характер текущей версии 0.18. Пакет доступен в npm под лицензией Apache 2.0 и содержит нативные сборки для macOS на процессорах ARM, а также для Linux. Для Windows на данный момент нативных сборок нет. Разработчики стремятся выпустить стабильную версию с полной совместимостью с TypeScript 7.1.

Первоисточник — Heise

Автор оригинала — Robert Lippert

Нашли неточность?

Сообщите редакции. Существенные исправления мы отмечаем в материале