Rust Books dan repost
👣 Rust пытается наконец уменьшить раздувающийся `target`.
В nightly Cargo скоро включат экспериментальный режим -Zembed-metadata=no, который убирает лишнее дублирование метаданных внутри .rlib.
Сейчас при сборке библиотеки Rust сначала создаёт .rmeta, чтобы зависимые крейты могли начать компилироваться раньше. А потом те же метаданные ещё раз попадают в итоговый .rlib.
То есть часть данных в target просто хранится дважды.
На тестах эффект получился вполне заметным.
Для serde размер target в release-сборке уменьшился почти на 30%. Для самого Cargo в лучшем случае экономия составила около 33%, почти 300 МБ. В обычном dev-режиме выигрыш скромнее, около 5–8%, потому что там большую часть места съедают debug-информация и incremental compilation.
Пока это только эксперимент для nightly. Cargo Team хочет посмотреть, не сломает ли изменение редкие сценарии, например ручную линковку .rlib.
Проблему огромных target это не решит полностью, но убрать бесплатные дубликаты на диске выглядит как вполне логичное начало.
https://blog.rust-lang.org/inside-rust/2026/08/18/reducing-target-dir-size-on-nightly/
В nightly Cargo скоро включат экспериментальный режим -Zembed-metadata=no, который убирает лишнее дублирование метаданных внутри .rlib.
Сейчас при сборке библиотеки Rust сначала создаёт .rmeta, чтобы зависимые крейты могли начать компилироваться раньше. А потом те же метаданные ещё раз попадают в итоговый .rlib.
То есть часть данных в target просто хранится дважды.
На тестах эффект получился вполне заметным.
Для serde размер target в release-сборке уменьшился почти на 30%. Для самого Cargo в лучшем случае экономия составила около 33%, почти 300 МБ. В обычном dev-режиме выигрыш скромнее, около 5–8%, потому что там большую часть места съедают debug-информация и incremental compilation.
Пока это только эксперимент для nightly. Cargo Team хочет посмотреть, не сломает ли изменение редкие сценарии, например ручную линковку .rlib.
Проблему огромных target это не решит полностью, но убрать бесплатные дубликаты на диске выглядит как вполне логичное начало.
https://blog.rust-lang.org/inside-rust/2026/08/18/reducing-target-dir-size-on-nightly/