Benchmarks poliglotas: escolhendo a ferramenta certa para o trabalho certo
Como os benchmarks poliglotas ajudam você a escolher a pilha certa para cada aplicativo – e não uma linguagem para governar todos eles
Um companheiro curto e de fácil leitura. Para um mergulho profundo na arquitetura – aproveitar o layout, a matriz de decisão, os antipadrões e como bifurcar os benchmarks – leiao longo artigo.
Sua organização escolheu uma pilha em 2019. Suas cargas de trabalho não.
A maioria das equipes ainda padroniza uma única linguagem para cada novo serviço: tudo em Node, tudo em Python, tudo em Java ou uma aposta heróica em Rust apenas para greenfield. Esse hábito é compreensível: contratação, modelos de CI e revisão de segurança ficam mais fáceis quando a pilha é uniforme. O problema é que as cargas de trabalho não são uniformes. Um gateway API, um trabalho ETL noturno, uma transformação de borda NGINX, uma propriedade de microsserviço JVM e um backend de chat com conexões de longa duração sobrecarregam diferentes partes do tempo de execução. Escolher um vencedor em um debate de corredor ou um único micro-referência é como você acaba com a ferramenta errada carregando a carga errada.
Polyglot Benchmarksé o antídoto: um chicote reproduzível e um painel ao vivo que comparaoito tempos de execuçãonas mesmas cargas de trabalhoHTTP, para que os arquitetos possam combinar evidências com contextos limitados em vez de viés de pilha padrão.

O que mede
O painel público comparaNGINX njs,OpenResty Lua,Python (FastAPI),Go (net/http),Rust (Actix),Bun,Java (Javalin / Jetty)eKotlin (Ktor / Netty)em sete testes sintéticos que espelham API real e padrões de borda: linha de base de texto simples, serialização JSON, fibonacci vinculado a CPU, manipulação de string, inspeção de solicitação, subsolicitação interna + transformação e lógica de roteamento. Cada teste relata solicitações por segundo, latência média e final (incluindo P99), tempo até o primeiro byte do curl e contagens de erros – transmitidos ao vivo conforme obench.shé concluído.
Java e Kotlin acompanham os tempos de execução compilados e de script para que as lojas JVM possam ver como Javalin e Ktor negociam contra Go, Rust, Bun e FastAPI em rotas idênticas – e não contra uma narrativa ondulada de “empresa versus greenfield”. O chicote reside em exemplos/benchmarks de fluxo de trabalho: serviços Docker Compose, um perfilwrkcompartilhado (10 segundos, 4 threads, 100 conexões) e resultados JSON consumidos pelo painel. Você pode bifurcá-lo para seus próprios candidatos e caminhos importantes.
Por que esta é uma estrutura de decisão, não uma tabela de classificação
Os benchmarks poliglotasnão coroam um idioma para sempre. Os vencedores mudam por linha de teste — exatamente o que você deseja ao projetar microsserviços. A seção de veredicto do painel mapeia os resultados para casos de uso (roteamento de borda em Lua/njs, simultaneidade central em Rust/Go, serviços JVM em Java/Kotlin, velocidade em Python). Essa é a tese:poliglota por design, com dados para placas de revisão de arquitetura em vez de opinião.

Seis benefícios para líderes de plataforma e engenharia
- Evidência sobre opinião— anexar gráficos e configurar ADRs; resolva debates de pilha com execuções medidas.
- Vencedores específicos para cargas de trabalho— caminhos sensíveis à latência versus transformações em lote versus transformações de borda versus propriedades JVM obtêm líderes diferentes.
- Custo total de propriedade— RPS bruto não é suficiente; avalie o tempo de construção, o tamanho da imagem, a adequação das habilidades da equipe e a carga de operações.
- Fluxos de trabalho reproduzíveis— mesmo repositório, mesmo arquivo Compose, mesmo script de trabalho; reexecutável em CI.
- Microsserviços poliglotas legítimos— diferentes idiomas por limite de serviço, sem vergonha ou surpresa.
- Redução de riscos— protótipo em segundo lugar antes de um mandato para toda a organização.

Início rápido
- Abra o painel ao vivo doenquanto uma execução está em andamento (ou inicie uma localmente).
- Clone
workflow-examples,cd benchmarks,docker compose up— oito serviços de idiomas, além de painel e corredor de bancada. - Leia
results.jsonno volume do painel e mapeie os vencedores parasuas linhas de carga de trabalho. - Escreva o ADR — inclua duração, threads, conexões e classe de hardware.
Leia a versão longa
O artigo longo docobre o layout completo do repositório, uma tabela de critérios, o diagrama de matriz de decisão, padrões de caso por família de teste (incluindo Java e Kotlin), antipadrões, limitações e snippets prontos para SEO para compartilhar com seu ARB. Publicado porWorkstation; site de benchmark hospedado empolyglot-benchmarks.ficctionally.org.
#Rust #GoLang #Bunjs #Java #Kotlin #Lua #Python #njs #FastAPI #Javalin #Ktor #OpenResty #polyglot #benchmarks