Novo framework para JavaScript quebrou recordes de desempenho
Moscou, 15 de outubro de 2020. A comunidade de desenvolvedores está agitada: foi anunciado o framework NeoV8, que, segundo seus criadores, demonstra uma capacidade de processamento (RPS) 3,2 vezes maior ao lidar com requisições HTTP em comparação com o Node.js 14 LTS padrão. Os benchmarks, publicados no GitHub, mostram 89.000 requisições/seg contra 28.000 do concorrente em uma aplicação CRUD simples.
O criador do framework, Alexei Belov (ex-engenheiro da V8 no Google), explica o avanço pela substituição do ciclo de eventos tradicional (Event Loop) por um agendador assíncrono baseado em io_uring (mecanismo de entrada e saída assíncrona no Linux 5.x). "Reescrevemos o núcleo de trabalho com a rede e o sistema de arquivos. Em vez de esperar callbacks, o agendador pré-carrega os dados no buffer, economizando até 40% do tempo na troca de contexto", afirmou Belov em entrevista ao portal Habr.
Especialistas, no entanto, pedem cautela. "Os números são impressionantes, mas os testes foram realizados em uma API sintética, sem cálculos complexos. Em projetos reais, com bancos de dados e chamadas externas, a diferença pode cair para 30-50%", comenta Nikita Prokopiev, desenvolvedor líder da Yandex.Cloud. Ainda assim, o benchmark TechEmpower já incluiu o NeoV8 em seu ranking Round 20, onde ele ficou em 4º lugar entre todos os frameworks, superando Fastify e Koa.
O framework é totalmente compatível com pacotes npm, mas requer Node.js ≥ 14.5 e kernel Linux 5.4+. No Windows e macOS, o desempenho cai 60% devido à ausência do io_uring. O lançamento da versão 1.0 está previsto para dezembro de 2020, enquanto isso, está disponível no status de Release Candidate.
O mercado já está reagindo: a startup DeployNow integrou o NeoV8 em seu serviço edge, afirmando uma redução de 35% nos custos com servidores. No entanto, grandes empresas como Netflix e PayPal ainda não comentaram sobre uma possível migração. Resta a pergunta: o NeoV8 se tornará o novo padrão ou continuará sendo uma ferramenta de nicho para sistemas de alta carga?