Avatar ·

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ã