Benchmark 2025: Kotlin vs concorrentes — quem ganha em velocidade e memória?
Em 2025, o ecossistema de linguagens de programação continua a evoluir rapidamente, e o Kotlin mantém-se firmemente como uma das ferramentas mais requisitadas para desenvolvimento backend, Android e projetos multiplataforma. No entanto, os principais concorrentes — Java, Go e Rust — não estão parados. Analisamos benchmarks recentes (Computer Language Benchmarks Game, Techempower Round 24 e testes internos da comunidade Kotlin) e apresentamos as principais conclusões.
Metodologia de teste
Os testes foram realizados num servidor com AMD Ryzen 9 7950X, 64 GB RAM, SSD NVMe, SO Ubuntu 24.04 LTS. Foram medidos três indicadores:
- Velocidade de execução (tempo de processamento de 10 milhões de iterações de algoritmos típicos: ordenação, serialização JSON, requisições HTTP).
- Consumo de memória (valor máximo de RSS em megabytes).
- Tempo de inicialização a frio (primeira execução da aplicação com carregamento de todas as dependências).
Resultados: Kotlin vs Java
Velocidade: Kotlin na JVM (versão 2.0) apresentou resultados praticamente idênticos ao Java 21 — a diferença foi inferior a 3%. Isto explica-se pelo facto de o Kotlin ser compilado para bytecode JVM, e as otimizações do compilador JIT funcionarem igualmente bem. No entanto, o Kotlin/Native (através do Kotlin Multiplatform) ficou atrás do Java em 12-15% em tarefas computacionais, mas ganhou em cenários com I/O intensivo.
Memória: Kotlin na JVM consome 8-10% mais memória do que Java, devido a wrappers adicionais de runtime para corrotinas e null-safety. No Kotlin/Native, o consumo de memória diminuiu 20% em relação à versão JVM, mas ainda assim fica atrás do Go.
Kotlin vs Go
Velocidade: Go é tradicionalmente mais rápido em tarefas multithread graças às suas goroutines leves. Kotlin com corrotinas apresentou uma diferença de 18-22% num servidor HTTP de alta carga. No entanto, em cálculos single-thread, Kotlin (JVM) superou Go em 7%.
Memória: Go continua a ser o líder — o consumo médio é 30-35% inferior ao do Kotlin na JVM. Kotlin/Native reduz a diferença para 15%, mas ainda perde.
Kotlin vs Rust
Velocidade: Rust foi, como esperado, o campeão absoluto — mais rápido que Kotlin em 40-50% em operações de baixo nível (parsing, criptografia). No entanto, em web frameworks (Ktor vs Actix), a diferença reduziu-se para 20%.
Memória: Rust consome 50% menos memória que Kotlin/JVM e 30% menos que Kotlin/Native. Este é o melhor indicador entre todos os participantes.
Tempo de inicialização a frio
- Go: 0.2 seg — inicialização instantânea.
- Rust: 0.3 seg.
- Kotlin/Native: 0.5 seg.
- Kotlin/JVM: 2.1 seg — o mais lento devido ao carregamento da JVM.
- Java: 1.8 seg.