Por que os executáveis do Rust são tão grandes?

Tendo encontrado Rust e tendo lido os dois primeiros capítulos da documentação, acho a abordagem e a maneira como eles definiram a linguagem particularmente interessante. Então eu decidi molhar meus dedos e comecei com Hello world ...

Eu fiz isso no Windows 7 x64, aliás.

fn main() {
    println!("Hello, world!");
}

Emissãocargo build e olhando para o resultado emtargets\debug Eu encontrei o resultado.exe sendo 3MB. Após algumas pesquisas (é difícil encontrar a documentação das bandeiras da linha de comando de carga ...)--release opção e criou a versão build. Para minha surpresa, o tamanho do .exe ficou menor em uma quantidade insignificante: 2,99 MB em vez de 3 MB.

Então, confessando que sou novato no Rust e em seu ecossistema, minha expectativa seria que uma linguagem de programação de sistemas produzisse algo compacto.

Alguém pode elaborar o que o Rust está compilando, como é possível que produza imagens tão grandes a partir de um programa de 3 linhas? Está compilando em uma máquina virtual? Existe um comando strip que eu perdi (informações de depuração dentro da versão do build?)? Mais alguma coisa que permita entender o que está acontecendo?

questionAnswers(5)

yourAnswerToTheQuestion