균형 신규 백엔드 (스타트업·MVP)
Hono(Bun) — 39 LOC · 0.6 MB 번들 · 0.5s 빌드 · 25k RPS. Bun·Node·Deno·Edge·Lambda 모두 동일 코드.
| 프레임워크 | RPS | p50 (ms) | p95 (ms) | p99 (ms) | RSS (MB) | 빌드 (s) | 바이너리 | 코드 (s) | LOC |
|---|---|---|---|---|---|---|---|---|---|
| rust-axum | 58,611 | 2.20 | 8.76 | 25.91 | 8.52 | 11.01 | 1.85 MB | 36.6 | 92 |
| spring-boot | 66,730 | 2.02 | 7.61 | 17.21 | 157.95 | 15.10 | 20.13 MB | 53.6 | 55 |
| go-chi | 38,949 | 2.09 | 18.50 | 29.50 | 11.80 | 5.51 | 8.73 MB | 24.1 | 101 |
| hono-bun | 25,139 | 5.11 | 21.80 | 57.41 | 67.92 | 0.54 | 0.59 MB | 24.6 | 39 |
| elysia-bun | 10,184 | 14.76 | 45.38 | 101.79 | 55.02 | 0.81 | 0.75 MB | 25.9 | 54 |
| fastapi | 1,487 | 89.27 | 336.74 | 609.93 | 80.30 | 0.24 | 22.32 MB* | 16.2 | 42 |
* FastAPI binary = .venv 전체(참고용). codeGenSec = LLM 에이전트가 코드+의존성 매니페스트 작성 완료까지의 wall-clock. 모든 측정 에러 0.
| 프레임워크 | RPS | 값 |
|---|---|---|
| spring-boot | 66,730 | |
| rust-axum | 58,611 | |
| go-chi | 38,949 | |
| hono-bun | 25,139 | |
| elysia-bun | 10,184 | |
| fastapi | 1,487 |
| 카테고리 | go-chi | rust-axum | elysia | hono | spring | fastapi |
|---|---|---|---|---|---|---|
| 개발 속도 (codeGen+LOC) | 3.97 | 3.02 | 7.49 | 8.87 | 3.71 | 9.76 |
| 성능 (RPS) | 5.75 | 8.77 | 1.34 | 3.63 | 10.00 | 0.00 |
| 실행속도 (latency) | 9.89 | 9.91 | 8.55 | 9.48 | 10.00 | 0.00 |
| 안정성 (메모리) | 9.78 | 10.00 | 6.89 | 6.02 | 0.00 | 5.20 |
| 빌드 속도 | 6.45 | 2.75 | 9.62 | 9.80 | 0.00 | 10.00 |
| 배포 속도 (binary) | 6.26 | 9.42 | 9.93 | 10.00 | 1.01 | 0.00 |
| 시나리오 | go | rust | elysia | hono | spring | fastapi | 1위 |
|---|---|---|---|---|---|---|---|
| 균형 (각 1/6) | 7.02 | 7.31 | 7.30 | 7.97 | 4.12 | 4.16 | Hono |
| 성능 우선 (성능·실행 60%) | 7.34 | 8.12 | 6.36 | 7.40 | 6.47 | 2.50 | Rust |
| 개발속도 우선 (개발 50%) | 5.80 | 5.60 | 7.38 | 8.33 | 3.96 | 6.40 | Hono |
| 운영비용 (메모리·빌드·배포 70%) | 7.44 | 7.60 | 7.72 | 7.96 | 2.57 | 4.54 | Hono |
Hono(Bun) — 39 LOC · 0.6 MB 번들 · 0.5s 빌드 · 25k RPS. Bun·Node·Deno·Edge·Lambda 모두 동일 코드.
Rust(Axum) — 58k RPS @ 8.5 MB RSS. tokio 멀티스레드. 콜드스타트 거의 즉시.
Spring Boot 3.5 — 67k RPS, p99 17ms. 단 158 MB RSS, 15s 빌드, 20 MB jar.
Go(chi) — 39k RPS, 11.8 MB RSS, 5.5s 빌드. K8s·gRPC·CLI 결합 표준.
FastAPI — 단일 워커 1.5k RPS, 멀티 워커로 4–8배 가능. Python 생태계 강점.
Hono — Node·Deno·CF Workers·Vercel·AWS Lambda·Fastly 동일 코드 동작.
| 항목 | Hono | Elysia |
|---|---|---|
| 측정 RPS | 25,139 | 10,184 |
| p50 / RSS | 5.11 ms / 67.9 MB | 14.76 ms / 55.0 MB |
| 런타임 범위 | Bun · Node · Deno · CF Workers · Vercel · AWS Lambda · Fastly | Bun 전용 (Node 호환 실험) |
| 검증/타입 | zod-validator / valibot 옵셔널 | TypeBox t.Object() 1급, end-to-end 타입 추론 |
| API 디자인 | 미니멀 Express 풍 미들웨어 | .decorate / .derive / .guard / .macro DI |
| 번들 / GitHub Star | 0.59 MB / 24k+ | 0.75 MB / 12k+ |
| 항목 | Hono | Rust (Axum) | Go (chi) |
|---|---|---|---|
| RPS | 25k | 59k | 39k |
| p50 / p99 (ms) | 5.1 / 57 | 2.2 / 26 | 2.1 / 30 |
| RSS | 68 MB | 8.5 MB | 12 MB |
| 빌드 | 0.5 s | 11 s | 5.5 s |
| 바이너리 | 0.6 MB | 1.85 MB | 8.7 MB |
| LOC (동일 CRUD) | 39 | 92 | 101 |
| 학습 곡선 | 낮음 (TS) | 높음 (소유권 · 라이프타임) | 중간 (단순 문법) |
| 런타임 자유도 | Bun·Node·Deno·Edge·Lambda | 단일 바이너리 | 단일 바이너리 |
| 동시성 모델 | 싱글스레드 이벤트 루프 | tokio 멀티스레드 | goroutine 경량 스레드 |
LLM 디코딩이 직렬이라 LOC + 보일러플레이트가 많을수록 비례해서 느려짐.
Spring Initializr zip 다운로드 + unzip + 정리만 5–10s 누적. cargo init / bun init / uv init 은 거의 즉시.
Read · Write · Bash 한 번 당 수백 ms 직렬 라운드트립. 외부 단계 많은 프레임워크일수록 호출 수 증가.
Rust lifetime · Send · Sync 같이 첫 시도에서 컴파일 실패 가능한 경우 재시도 사이클.
codeGenSec = (순수 LLM 코딩 난이도) + (프레임워크 부트스트랩 비용) 의 합. 모델 성능 차이로 해석하면 틀림.
사용자 가중치를 모두 동등하게 본다고 했을 때 균형 시나리오 7.97 / 10으로 1위. 모든 카테고리에서 6/10 이상을 유지하는 유일한 옵션.