Throughput dibanding framework Node lain
Tiga endpoint yang sama di Samveys dan empat framework Node populer, diukur di satu mesin dengan satu load generator. Metode dan JSON mentahnya dipublikasikan bersama angkanya.
Diukur di satu laptop; secara default Samveys mengerjakan lebih banyak per request. Baca ini sebelum mengutip angkanya
Teks biasa
GET /ping mengembalikan “pong”. Mengukur biaya dasar framework.
| Framework | Request/detik | p50 ms | p99 ms | Error | Selisih | vs tercepat |
|---|---|---|---|---|---|---|
| Hono (node-server) 4.13.16 | 53.584 | 1 | 2 | 0 | ±10% | tercepat |
| node:http (no framework) 26.13.0 | 50.736 | 1 | 3 | 0 | ±6% | 95% |
| Fastify 5.12.8 | 48.860 | 1 | 3 | 0 | ±15% | 91% |
| Express 5.3.0 | 32.773 | 1 | 4 | 0 | ±40% | 61% |
| Samveys (node driver) 1.0.2 | 13.416 | 4 | 8 | 0 | ±25% | 25% |
| Samveys (Fastify driver) 1.0.2 | 11.426 | 5 | 11 | 0 | ±35% | 21% |
JSON dengan param route
GET /users/:id mengembalikan objek JSON kecil yang dibuat dari param.
| Framework | Request/detik | p50 ms | p99 ms | Error | Selisih | vs tercepat |
|---|---|---|---|---|---|---|
| Hono (node-server) 4.13.16 | 50.900 | 1 | 3 | 0 | ±8% | tercepat |
| Fastify 5.12.8 | 50.888 | 1 | 3 | 0 | ±8% | 100% |
| node:http (no framework) 26.13.0 | 46.788 | 1 | 3 | 0 | ±28% | 92% |
| Express 5.3.0 | 31.609 | 1 | 5 | 0 | ±23% | 62% |
| Samveys (node driver) 1.0.2 | 12.932 | 4 | 8 | 0 | ±18% | 25% |
| Samveys (Fastify driver) 1.0.2 | 11.966 | 4 | 11 | 0 | ±31% | 24% |
Body JSON tervalidasi
POST /echo memparsing body JSON, memvalidasinya dengan schema dan mengembalikannya.
| Framework | Request/detik | p50 ms | p99 ms | Error | Selisih | vs tercepat |
|---|---|---|---|---|---|---|
| Hono (node-server) 4.13.16 | 43.304 | 1 | 3 | 0 | ±10% | tercepat |
| Fastify 5.12.8 | 41.241 | 1 | 4 | 0 | ±12% | 95% |
| node:http (no framework) 26.13.0 | 40.301 | 1 | 4 | 0 | ±35% | 93% |
| Express 5.3.0 | 28.718 | 2 | 4 | 0 | ±40% | 66% |
| Samveys (node driver) 1.0.2 | 8.491 | 6 | 25 | 0 | ±40% | 20% |
| Samveys (Fastify driver) 1.0.2 | 7.508 | 7 | 17 | 0 | ±15% | 17% |
Cara kami mengukur
Baca ini sebelum mengutip angkanya
- Secara default Samveys mengerjakan lebih banyak per request: header keamanan, id request, Problem Details, batas waktu dan parsing tanpa prototype. Framework lain berjalan dengan default-nya, jadi sebagian besar hal itu dilewati.
- Hasilnya dari satu laptop, bukan server. Pakai untuk membandingkan framework satu sama lain, bukan sebagai angka kapasitas.
- App sungguhan menghabiskan sebagian besar waktunya di database dan jaringan, bukan di framework.
- Load generator
autocannon 8.0.0- Durasi per pengukuran
- 8 s
- Putaran
- 3 putaran bergantian; yang ditampilkan median
- Pemanasan
- 2 s
- Koneksi
- 64
- Pipelining
- 1
- Mesin
- Apple M5 · 10 cores · 16 GB · darwin 27.0.0
- Node.js
- v26.13.0
- Diukur pada
- 5 November 2026
Setiap framework berjalan sendirian di prosesnya sendiri; load generator berjalan di proses lain.
Skenario
- Teks biasa — GET /ping mengembalikan “pong”. Mengukur biaya dasar framework.
- JSON dengan param route — GET /users/:id mengembalikan objek JSON kecil yang dibuat dari param.
- Body JSON tervalidasi — POST /echo memparsing body JSON, memvalidasinya dengan schema dan mengembalikannya.
Data mentah
JSON di balik halaman ini: 2026-11-05.json · node scripts/benchmark.ts