Skip to content

Rendimiento

Nestelia agrega una capa delgada de decoradores e inyección de dependencias sobre Elysia — con casi cero overhead. El resultado: experiencia de desarrollo estilo NestJS a la velocidad de 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
Promedio de reqs/s en 5 escenarios. 500 conexiones, 10s por escenario. macOS arm64, Bun 1.3, Node 24.

Resultados por escenario

EscenarioNesteliaElysiaFastifyExpressNestJS
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
Promedio71,70374,39542,64037,82530,582

Cómo reproducir

bash
# Instalar dependencias del benchmark
cd benchmark && bun install && cd ..

# Instalar herramienta de prueba de carga
brew install bombardier

# Ejecutar todos los benchmarks (5 escenarios × 5 frameworks)
bun run bench

# O ejecutar frameworks específicos
bun run bench nestelia elysia fastify

¿Por qué Nestelia es rápido?

Nestelia resuelve toda la inyección de dependencias, el cableado de módulos y el registro de rutas en tiempo de inicio. En tiempo de solicitud, los controladores llaman a los métodos de servicio directamente — sin cadena de middleware, sin búsquedas en el contenedor por solicitud.

NesteliaNestJS
RuntimeBunNode.js
Capa HTTPElysiaExpress (por defecto)
Resolución DIEn tiempo de inicioEn tiempo de inicio
Reflexión de metadatosCache en inicioPor solicitud
Contexto de solicitudRuta rápida lo omiteSiempre creado
Cadena de middlewareNinguna (handlers de Elysia)Stack de middleware de Express
ValidaciónElysia TypeBox (compilación)class-validator (reflexión en runtime)

Publicado bajo la licencia MIT.