Go contra concorrentes: resultados de benchmarks de 2025
Em 2025, a linguagem Go (Golang) continua a fortalecer sua posição no segmento de serviços em nuvem, microsserviços e backends de alta carga. No entanto, a concorrência de Rust, Python (com extensões C) e C++ clássico está se tornando cada vez mais interessante. Analisamos os benchmarks mais recentes da comunidade TechEmpower e de laboratórios independentes para entender onde Go ainda está à frente e onde fica atrás.
Metodologia de teste
Todas as medições foram realizadas no mesmo hardware (AMD EPYC 64 núcleos, 256 GB RAM, NVMe SSD) rodando Ubuntu 24.04 LTS. Os testes incluíram:
- Servidor HTTP — processamento de 10.000 requisições/s com resposta JSON (Fasthttp vs Actix vs Node.js vs Sanic)
- Computação — multiplicação de matrizes 2048×2048 (CPU-bound)
- Consumo de memória — modo idle após carregar 100 mil objetos
- Velocidade de compilação — tempo de build de um projeto médio (~50 arquivos)
Resultados dos benchmarks
Aqui estão os números-chave (Go é considerado 100% em cada categoria):
- Taxa de transferência HTTP: Go — 100% (1,2 milhões req/s), Rust — 115%, C++ — 130%, Python (uvicorn) — 20%.
- Desempenho computacional: Go — 100%, Rust — 108%, C++ — 135%, Python (NumPy) — 45% (com backend C).
- Consumo de memória (por 10 mil goroutines/threads): Go — 4,2 MB, Rust — 3,8 MB, C++ — 5,1 MB, Python — 89 MB.
- Velocidade de compilação: Go — 0,8 seg, Rust — 4,2 seg, C++ — 7,1 seg, Python — 0,1 seg (interpretação).
Análise: onde Go vence em 2025?
Apesar de Rust e C++ mostrarem melhor desempenho "bruto" em computação, Go mantém a liderança no ambiente web devido a três fatores:
- Goroutines: threads leves com overhead de ~4 KB contra 1 MB das threads de sistema do C++.
- Coletor de lixo: na versão Go 1.24, as pausas do GC foram reduzidas para 0,5 ms sob 95% de carga, aproximando-se do gerenciamento manual de memória do Rust.
- Ecossistema: a biblioteca padrão cobre 90% das tarefas de backend sem dependências externas.
Python continua sendo o rei da prototipagem e ML, mas para cargas de produção, Go oferece 4 a 5 vezes mais taxa de transferência com o mesmo orçamento de CPU.
Conclusões para desenvolvedores
Se o seu projeto é uma API de alta carga, streaming de dados ou serviço em nuvem, Go continua sendo a escolha ideal em 2025. Rust — para sistemas com requisitos rigorosos de segurança de memória (drivers, kernels). C++ — para jogos e sistemas embarcados. Python — para protótipos rápidos e Data Science.
Tabelas completas de benchmarks e código-fonte dos testes estão disponíveis no repositório TechEmpower Framework Benchmarks.