Avatar ·

Por que os executáveis Rust são tão grandes e como corrigir isso?

Olá a todos! Sou novo em Rust e notei uma coisa estranha: até o programa mais simples ocupa megabytes. Escrevi "Hello, world!": ```rust fn main() { println!("Hello, world!"); } ``` Compilei com `cargo build` e obtive um arquivo de 3.5 MB! Para comparação, um programa similar em C ocupa apenas 16 KB. Entendo que Rust não é C, mas a diferença de 200 vezes me preocupa. Tentei adicionar `--release` — ficou com 2.8 MB. Ainda assim enorme. E não estou usando nenhum crate externo, apenas a biblioteca padrão. Meu projeto é um binário comum, sem dependências extras. Ouvi dizer que Rust faz link estático da biblioteca padrão, mas será que ela é tão grande? Em Go também há link estático, mas os binários são menores. Será que estou fazendo algo errado? Existe uma forma de reduzir o tamanho? Ou isso é apenas o preço pela segurança de memória e abstrações de custo zero? Agradeço por explicações e dicas para reduzir o tamanho. Quero entender se isso é normal para Rust ou se perdi algo.