Опрос о скорости сборки 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