Benchmark 2025: Java contra concorrentes — quem é mais rápido?
No início de 2025, a equipe TechEmpower e entusiastas independentes publicaram novos resultados de benchmarks de desempenho de linguagens de programação populares. O foco está no Java, que continua evoluindo com o lançamento do Java 25 e do Project Loom. Analisamos os dados e preparamos um breve resumo: como a posição do Java mudou em relação ao Go, Rust, C#, Python e Kotlin.
Metodologia de teste
Os testes foram realizados sob cargas típicas: requisições web (serialização JSON), processamento de dados (loops, cálculos), gerenciamento de memória e velocidade de inicialização. Foram utilizadas as versões estáveis mais recentes das linguagens e frameworks (Spring Boot 4 para Java, Gin para Go, Actix para Rust, .NET 9 para C#).
Resultados: velocidade de execução
- Java (Spring Boot 4 + Virtual Threads): ~185.000 requisições/seg. Excelente resultado graças ao Project Loom — threads virtuais reduziram a sobrecarga de concorrência.
- Go (Gin): ~210.000 requisições/seg. Líder em velocidade pura na web, mas a diferença para o Java é mínima.
- Rust (Actix): ~230.000 requisições/seg. Líder absoluto, mas a complexidade de desenvolvimento e compilação continua alta.
- C# (.NET 9): ~175.000 requisições/seg. Próximo ao Java, mas perde em micro-otimizações.
- Python (FastAPI): ~45.000 requisições/seg. Esperadamente mais lento, mas lidera em velocidade de escrita de código.
- Kotlin (Ktor): ~180.000 requisições/seg. Quase idêntico ao Java, o que é lógico — roda na JVM.
Consumo de memória
Aqui, o Java é tradicionalmente criticado, mas o Java 25 com G1 GC melhorado e strings compactas mostrou progresso notável:
- Rust: consumo mínimo (~15 MB por aplicação).
- Go: ~25 MB.
- Java: ~60 MB (contra 100+ MB no Java 17).
- C#: ~70 MB.
- Python: ~40 MB, mas GC lento.
Velocidade de inicialização
Graças ao GraalVM Native Image e ao Project Leyden, o Java reduziu o tempo de inicialização para 0,3–0,5 segundos para serviços simples. Isso é comparável ao Go (0,2 seg) e Rust (0,1 seg). Anteriormente, o Java perdia aqui com um tempo de 1,5–2 segundos.
Conclusões e previsões
O benchmark de 2025 mostra que o Java não é mais "lento". O Project Loom e o GraalVM o colocaram de volta entre os três primeiros em desempenho. A linguagem perde para Rust e Go em números brutos, mas ganha em ecossistema, maturidade e disponibilidade de desenvolvedores. Para soluções empresariais, microsserviços e sistemas de alta carga, o Java continua sendo uma das melhores escolhas.
Se você quiser se aprofundar no Java 25 ou experimentar Virtual Threads na prática, confira nossas aulas no PythonLib. Estamos preparando uma série de materiais sobre Java moderno.