Почему проекты Rust так много весят?

Я создал проект на Rust, добавил в него библиотеку bevy и теперь проект весит несколько гигабайт.

Почему в Rust так много весят библиотеки и как сжать их?


Ответы (1 шт):

Автор решения: S.H.

Ответ очень простой: статическая линковка.

Собранный на RUST проект представляет собой один бинарник, который будет одинаково запускаться в разных системах (ну, внутри линукса - линксовый, внутри винды - виндовый, но при этом на версию OS и набор установленных библиотек им будет напревать)

В обычном состоянии нет необходимости собирать программу так, чтобы всё необходимое было статически прилинковано. То есть, маленькая программка, запустившись в целевой системе, находит и подгружает в память множество DLL'ек, или их аналогов - либов - из мира линукс.

Вы можете провеси подобный эксперимент с C++: взять простую программу, что то чуть чуть посложнее hello world. И собрать её с ключем --static. У меня, в примере, в котором использовалась работа со строками и файловой системой, размер exe шника под винду с легкостью добрался примерно до 15 мегабайт.

→ Ссылка