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