Deno 2.0 acabou de ser lançado e afirma ser mais rápido que Bun e Node.js e da mesma forma que Bun afirma ser mais rápido. Isso despertou meu interesse, então decidi testar o desempenho deles e ver como eles se comparam em um cenário do mundo real.
Para uma comparação justa, preciso escolher uma estrutura compatível com todos os três ambientes de execução JavaScript (Node.js, Deno e Bun). É por isso que decidi usar o Hono.js, que se integra perfeitamente com todos os três.
SO: Ubuntu 24.04.1 LTS (WSL)
Sistema: Ryzen 5 5500U, 16 GB de RAM
Node.js: v22.9.0
Deno: v2.0.0
Pão: v1.1.30
Comando de teste:
bombardier -c 100 -d 30s http://localhost:3000
Para benchmarking, usei o Bombardier, uma ferramenta de teste de carga baseada em Go que funciona por 30 segundos com 100 conexões simultâneas. Cada teste foi repetido três vezes para garantir resultados mais precisos, e a média dessas execuções foi feita para cada ambiente.
Selecionei Hono.js por sua flexibilidade e compatibilidade cruzada. Hono.js permite fácil integração com todos os três tempos de execução JavaScript – Node.js, Deno e Bun – tornando-o uma estrutura ideal para esse tipo de benchmark. É leve, rápido e possui uma API simples, o que garante que as diferenças de desempenho entre os tempos de execução sejam destacadas sem muita sobrecarga.
Aqui estão a média e o máximo de solicitações por segundo para cada tempo de execução:
(Solicitação/seg)
Vencedor: Pão
Aqui está a latência (em milissegundos por solicitação) para cada tempo de execução mostrada abaixo:
(ms/req)
Vencedor: Bun (Média) e Deno (Máx.)
Análise e principais conclusões
Com base nos resultados, surgiram os seguintes pontos-chave:
Node.js: Embora o Node.js seja o padrão da indústria para JavaScript do lado do servidor há anos, ele apresenta desempenho inferior em termos de solicitações por segundo quando comparado ao Deno e ao Bun. Sua latência média também é maior, sugerindo que ele pode ter mais dificuldades sob cargas simultâneas pesadas. No entanto, o Node.js ainda é amplamente adotado por seu vasto ecossistema e estabilidade em ambientes de produção.
Deno 2.0: O Deno teve um desempenho significativamente melhor que o Node.js, entregando mais que o dobro das solicitações por segundo, mantendo uma latência média muito mais baixa. Isso indica que o Deno é altamente otimizado para lidar com conexões simultâneas e pode ser uma forte alternativa para aplicações de desempenho crítico. Seu design moderno e recursos integrados, como suporte a TypeScript, proporcionam uma vantagem em projetos mais recentes.
Bun: Bun superou Node.js e Deno em termos de desempenho bruto. Ele atendeu o maior número de solicitações por segundo e manteve a latência média mais baixa. Isso torna o Bun uma opção atraente para projetos onde a velocidade é a principal prioridade. No entanto, ainda é um tempo de execução mais recente e seu ecossistema e comunidade ainda não estão tão maduros quanto os do Node.js.
Neste benchmark, testei o desempenho de Deno 2.0, Bun e Node.js usando Hono.js como estrutura em todos os três ambientes. Os resultados mostram claramente que tanto o Deno quanto o Bun superam o Node.js em termos de velocidade bruta e latência. Bun, em particular, brilha em cenários de alto desempenho, enquanto Deno fornece uma solução equilibrada com foco em recursos de desenvolvimento modernos.
Embora o Node.js possa não ser a opção mais rápida, ele continua sendo uma escolha confiável, especialmente para projetos que dependem de seu ecossistema maduro. Por outro lado, se você estiver trabalhando em um novo projeto e precisar maximizar o desempenho, tanto Deno quanto Bun oferecem alternativas atraentes.
Em última análise, a escolha do tempo de execução dependerá das necessidades específicas do seu projeto. Por enquanto, Deno e Bun provaram ser os novos competidores na corrida de tempo de execução do JavaScript, com Bun assumindo uma liderança notável em desempenho.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3