Cloudflare переписала TypeScript на Rust: в 8 раз быстрее и на 70% меньше памяти

Экспериментальный tsrs — не форк, и Cloudflare приписывает передовым моделям то, что такой порт сделан за несколько дней.

Вкратце

Экспериментальный порт компилятора TypeScript на Rust от Cloudflare заявляет до 8x ускорения и примерно на 70% меньше памяти, чем у TypeScript 7.0; код за несколько дней написали передовые модели.

Участник команды TypeScript говорит, что многое ускорение не связано с выбором языка, а часть уже попадает в TypeScript 7.1.

Что построила Cloudflare

Cloudflare переносит TypeScript на Rust и заявляет о восьмикратном ускорении
Cloudflare переносит TypeScript на Rust и заявляет о восьмикратном ускорении

tsrs — экспериментальный порт компилятора TypeScript на Rust. Его сделали совместно с VoidZero и Максом Швенком из Owner.com, он вырос в Oxc и создан в сотрудничестве с командой TypeScript. Довод такой: проверка типов быстрее, а Rust компилируется в WebAssembly без сборщика мусора, в отличие от Go, что подходит для браузеров и Workers. Установка: npm install tsrs.

Порядок вывода диагностики отличается от оригинала, а Cloudflare планирует объединить tsrs с tsc-rs. Поддержку будут строить по тому же подходу, что и в Vinext: агенты проверяют изменения в апстриме, прогоняют тесты и предлагают исправления. Бенчмарки — собственные данные Cloudflare.

Команда TypeScript говорит, что скорость не только в Rust

Программный менеджер команды TypeScript, которая владеет компилятором, сказал, что заголовок про восьмикратность скрывает, откуда взялся выигрыш:

«многое из скорости определяется не выбором языка, а часть того, что сделает TS 7.1 быстрее и легче… на самом деле пришла из оптимизаций, найденных в tsrs»

Независимую проверку провёл комментатор, который сравнил tsgo, ts-rust, tsrs и bun на своём монорепозитории: по его словам, tsrs «очень экономен к памяти при увеличении числа потоков», а в отличие от bun умеет инкрементальные проверки. Вопрос о безопасности острее. Комментатор, который прочитал заметки о порте проекта, возразил против дизайна с аренами памяти:

«Это небезопасно: доказывает либо LLM, либо человек. Небезопасный код спрятан в абстракции, но сам по себе никуда не делся»

Если вы запускаете tsc в CI, ближайший выигрыш, вероятно, даст TypeScript 7.1, а не переход на экспериментальный порт, который поддерживают агенты и чья модель памяти вызывает споры.

Получайте такие разборы каждый день

Главные истории Hacker News — на email, в Telegram или RSS.

Следующая новость · 11 из 12 Читать дальше
🚀Tech

Voxtral 3 от Mistral: распознавание речи по $0,0035 за минуту

Четыре модели речи и SDK для голосовых агентов, с транскрипцией на более чем 50 языках.

★ 533 · 💬 143 · mistral.ai · 2 мин