Почему проекты Rust так много весят?
Я создал проект на Rust, добавил в него библиотеку bevy и теперь проект весит несколько гигабайт.
Почему в Rust так много весят библиотеки и как сжать их?
Ответы (1 шт):
Ответ очень простой: статическая линковка.
Собранный на RUST проект представляет собой один бинарник, который будет одинаково запускаться в разных системах (ну, внутри линукса - линксовый, внутри винды - виндовый, но при этом на версию OS и набор установленных библиотек им будет напревать)
В обычном состоянии нет необходимости собирать программу так, чтобы всё необходимое было статически прилинковано. То есть, маленькая программка, запустившись в целевой системе, находит и подгружает в память множество DLL'ек, или их аналогов - либов - из мира линукс.
Вы можете провеси подобный эксперимент с C++: взять простую программу, что то чуть чуть посложнее hello world. И собрать её с ключем --static. У меня, в примере, в котором использовалась работа со строками и файловой системой, размер exe шника под винду с легкостью добрался примерно до 15 мегабайт.