Por que a compilação de Go é tão rápida? Segredos da velocidade de build
Olá a todos! Recentemente comecei a estudar Go e notei uma coisa que me impressionou — a velocidade de compilação. No meu projeto em Python, estava acostumado a esperar alguns segundos até que um teste fosse executado, mas aqui até um projeto grande compila em frações de segundo. Escrevi um programa simples para comparar:
```go
package main
import "fmt"
func main() {
fmt.Println("Hello, Go!")
}
```
A compilação com `go build` leva literalmente 0,2 segundos. Tentei adicionar várias imports e funções, mas a velocidade quase não mudou. Para comparação, em C++ com CMake até um simples hello world demora mais para compilar.
Estou curioso para saber como essa velocidade é alcançada. É uma característica da linguagem, do compilador ou da arquitetura? Ouvi dizer que Go não usa preprocessador, como C/C++, e que tem um modelo de import simples. Mas até que ponto isso influencia? Talvez existam algumas armadilhas, e em projetos grandes a velocidade caia?
Gostaria de entender os detalhes técnicos: como o compilador Go é estruturado, por que ele é tã