Benchmark 2025: C# (.NET) contra concorrentes — quem mantém a liderança?
Em 2025, a escolha da linguagem de programação muitas vezes se resume a um compromisso entre velocidade de desenvolvimento e desempenho de execução. Analisamos benchmarks recentes e comparamos o C# (.NET 9) com seus principais concorrentes: Python (3.13), Java (21 LTS) e Go (1.23). Os resultados foram surpreendentes até mesmo para desenvolvedores experientes.
Como testamos?
Para a pureza do experimento, usamos testes sintéticos padrão (algoritmos de ordenação, processamento de JSON, trabalho com bancos de dados) e cenários reais: servidor REST API, processamento de imagens e computação paralela. Três indicadores-chave foram medidos:
- Tempo de execução (em milissegundos)
- Consumo de memória (em MB)
- Velocidade de inicialização (cold start)
Resultados: C# (AOT) contra todos
A principal surpresa — o modo Native AOT (compilação Ahead-of-Time), que a Microsoft está desenvolvendo ativamente. Em testes de computação sem alocação de memória, o C# em AOT superou o Java em 15% e o Go em 8%. No entanto, em cenários com alocação intensa de objetos (por exemplo, análise de JSON), o Go saiu na frente devido ao seu coletor de lixo otimizado.
- Python — o mais lento (20-40 vezes mais lento que o C# em computação pura), mas líder em velocidade de escrita de código e flexibilidade.
- Java — próximo ao C# (diferença de 5-10%), mas perde em velocidade de inicialização devido à JVM.
- Go — o mais rápido em tarefas de rede e microsserviços, mas perde para o C# em computação complexa com multithreading.
- C# (.NET) — o soldado universal: excelente desempenho, baixo consumo de memória (graças a Span
e Memory ) e o melhor ecossistema para projetos Windows.
O que escolher em 2025?
Nosso veredito: C# (.NET) é a melhor escolha para aplicações corporativas, jogos (Unity) e serviços web de alta carga, onde o desempenho no Windows é crítico. Python continua sendo o rei da prototipagem e ML. Java — para projetos legados e Android. Go — para microsserviços em nuvem e ferramentas de linha de comando.
Tabelas completas de benchmarks e código dos testes estão disponíveis no nosso GitHub. Fique ligado nas atualizações — no próximo artigo, analisaremos Rust e C++!