Опрос о скорости сборки Rust: 55 процентов ждут пересборку дольше десяти секунд

10.09.2025

Опубликованы результаты первого опроса о производительности компилятора Rust — больше 3700 ответов. Главная боль одна: инкрементальная пересборка после маленького изменения занимает слишком долго, и время растёт вместе с размером кодовой базы, а не с объёмом изменений.

Что показали цифры

Ожидание инкрементальной пересборки после небольшой правки оказалось самой частой жалобой и в свободных ответах, и в опросных полях. 55 процентов респондентов ждут пересборку дольше десяти секунд.

Отдельно: 45 процентов тех, кто когда-либо уходил с Rust, назвали времена компиляции одной из причин. Почти 36 процентов тех, кому мешает сборка в непрерывной сборке, вообще не кэшируют артефакты.

Команда формулирует желаемое состояние прямо: время пересборки должно зависеть в первую очередь от объёма внесённых изменений, а не от размера кодовой базы. До этого, признано, далеко.

Где именно теряется время

Названы три узких места:

  • изменение в воркспейсе заставляет пересобирать все зависимые крейты;
  • линковка всегда идёт с нуля — результат не сохраняется между сборками;
  • инкрементальная сборка одного крейта медленная, в том числе потому что раскрытие derive-макросов пока не кэшируется.

Что делать прямо сейчас

Отчёт ценен тем, что даёт не жалобы, а список рычагов:

  • сокращать число зависимостей и включённых возможностей;
  • дробить крупные крейты — на верхнем уровне воркспейса пересборка обходится дешевле;
  • пробовать другие линкеры: mold, LLD;
  • понижать объём отладочной информации — line-tables-only даёт от 2 до 30 процентов по числу циклов на бенчмарках;
  • экспериментальные -Zembed-metadata и подсказки компилятору о почти неиспользуемых значениях.

Отдельно отмечено, что Cargo по умолчанию генерирует полную отладочную информацию, и команда Cargo обсуждает её уменьшение. То есть набор значений по умолчанию в итоге может измениться — и это отдельный повод следить за анонсами.

Оригинал

Rust compiler performance survey 2025 results от 10 сентября 2025 года

Упоминаний: 1 · Просмотров: 2