Skip to content

Performance

Nestelia adiciona uma camada fina de decoradores e injeção de dependência sobre o Elysia — com overhead quase zero. O resultado: experiência de desenvolvimento estilo NestJS na velocidade do Elysia.

1.7x faster than Fastify
1.9x faster than Express
2.3x faster than NestJS
ElysiaBun
74,395 reqs/s
NesteliaBun
71,703 reqs/s
FastifyNode
42,640 reqs/s
ExpressNode
37,825 reqs/s
NestJSNode
30,582 reqs/s
Média de reqs/s em 5 cenários. 500 conexões, 10s por cenário. macOS arm64, Bun 1.3, Node 24.

Resultados por cenário

CenárioNesteliaElysiaFastifyExpressNestJS
Plain Text GET /74,91479,28747,60040,38538,413
JSON GET /json73,43876,92545,01038,80736,527
Path Params GET /user/:id74,28975,07745,74738,25027,598
POST JSON POST /user62,39963,48729,79334,03824,833
DI + Service GET /users73,47677,19745,05137,64725,539
Média71,70374,39542,64037,82530,582

Como reproduzir

bash
# Instalar dependências do benchmark
cd benchmark && bun install && cd ..

# Instalar ferramenta de teste de carga
brew install bombardier

# Executar todos os benchmarks (5 cenários × 5 frameworks)
bun run bench

# Ou executar frameworks específicos
bun run bench nestelia elysia fastify

Por que o Nestelia é rápido?

Nestelia resolve toda a injeção de dependência, conexão de módulos e registro de rotas no momento da inicialização. No momento da requisição, os controllers chamam métodos de serviço diretamente — sem cadeia de middleware, sem buscas no container por requisição.

NesteliaNestJS
RuntimeBunNode.js
Camada HTTPElysiaExpress (padrão)
Resolução DINa inicializaçãoNa inicialização
Reflexão de metadadosCache na inicializaçãoPor requisição
Contexto da requisiçãoCaminho rápido ignoraSempre criado
Cadeia de middlewareNenhuma (handlers Elysia)Stack de middleware Express
ValidaçãoElysia TypeBox (compilação)class-validator (reflexão em runtime)

Lançado sob a licença MIT.