Skip to content

성능

Nestelia는 Elysia 위에 얇은 데코레이터와 의존성 주입 레이어를 추가합니다 — 성능 오버헤드는 거의 제로입니다. 결과: Elysia 수준의 속도로 NestJS 스타일의 개발 경험을 제공합니다.

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
5개 시나리오의 평균 요청 수/초. 500 연결, 시나리오당 10초. macOS arm64, Bun 1.3, Node 24.

시나리오별 결과

시나리오NesteliaElysiaFastifyExpressNestJS
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
평균71,70374,39542,64037,82530,582

재현 방법

bash
# 벤치마크 의존성 설치
cd benchmark && bun install && cd ..

# 부하 테스트 도구 설치
brew install bombardier

# 모든 벤치마크 실행 (5개 시나리오 × 5개 프레임워크)
bun run bench

# 또는 특정 프레임워크만 실행
bun run bench nestelia elysia fastify

Nestelia는 왜 빠른가요?

Nestelia는 모든 의존성 주입, 모듈 연결, 라우트 등록을 시작 시점에 해결합니다. 요청 처리 시에는 컨트롤러가 서비스 메서드를 직접 호출합니다 — 미들웨어 체인도, 요청별 컨테이너 조회도 없습니다.

NesteliaNestJS
런타임BunNode.js
HTTP 레이어ElysiaExpress (기본값)
DI 해결시작 시점시작 시점
메타데이터 리플렉션시작 시 캐시요청마다
요청 컨텍스트빠른 경로로 건너뜀항상 생성
미들웨어 체인없음 (Elysia 핸들러)Express 미들웨어 스택
유효성 검사Elysia TypeBox (컴파일 시점)class-validator (런타임 리플렉션)

MIT 라이선스로 배포됩니다.