Avatar ·

Pourquoi les exécutables Rust sont-ils si énormes et comment y remédier ?

Bonjour à tous ! Je suis débutant en Rust et j'ai remarqué une chose étrange : même le programme le plus simple prend des mégaoctets. J'ai écrit "Hello, world!" : ```rust fn main() { println!("Hello, world!"); } ``` Compilé avec `cargo build` et j'ai obtenu un fichier de 3,5 Mo ! Pour comparaison, un programme similaire en C prend seulement 16 Ko. Je comprends que Rust n'est pas du C, mais une différence de 200 fois m'inquiète. J'ai essayé d'ajouter `--release` — cela a donné 2,8 Mo. Toujours énorme. Pourtant, je n'utilise aucune crate externe, seulement la bibliothèque standard. Mon projet est un binaire ordinaire, sans dépendances inutiles. J'ai entendu dire que Rust lie statiquement la bibliothèque standard, mais est-elle vraiment si grosse ? En Go aussi il y a une liaison statique, mais les binaires y sont plus petits. Peut-être que je fais quelque chose de mal ? Existe-t-il un moyen de réduire la taille ? Ou est-ce simplement le prix à payer pour la sécurité mémoire et les abstractions à coût zéro ? Je serais reconnaissant pour une explication et des conseils pour réduire la taille. Je veux comprendre si c'est normal pour Rust ou si j'ai raté quelque chose.