๐ Benchmark Seru: Node.js vs Deno vs Bun โ Siapa yang Paling Ngebut?
Published on March 24, 2025 ยท 8 min read
Pada postingan sebelumnya, kita sudah bahas kelebihan, kekurangan, dan kapan sebaiknya menggunakan Node.js, Deno, atau Bun. ๐
Nah, kali ini kita masuk ke tahap seru: benchmark sederhana untuk mengukur performa masing-masing runtime ๐ปโก
Kita akan coba install dan jalankan Express, lalu lihat performanya masing-masing. ๐ฅ Selain itu, saya tambahkan juga hasil benchmark dari website bun sebagai pembanding. ๐
โ๏ธ Parameter Benchmark
Untuk benchmark sendiri, ada beberapa parameter. Dibawah ini parameter yang biasa dipakai untuk menentukan benchmark aplikasi.
- ๐ Startup Time
- โฑ๏ธ Execution Time / Throughput
- ๐ง Memory Usage
- ๐ป CPU Usage
- ๐ File I/O Performance
- ๐ HTTP Server Performance
- ๐ฆ Package Install Time
- โ๏ธ Cold Build Time
- ๐งต Concurrency Handling
- ๐ Compatibility & Ecosystem Overhead
๐ ๏ธ Tools yang Digunakan
Jika benchmark dilakukan manual, akan takes time banget dan hasilnya bisa kurang akurat. Oleh karena itu, kita akan melakukan dengan salah satu dari beberapa tools benchmark yang biasa dipakai. Dari website resmi bun https://bun.sh/ (opens in a new tab) disarankan menggunakan oha atau bombardier. Kita lihat apa saja tools benchmark yang biasa dipakai.
- autocannon โ HTTP Benchmark CLI
- wrk โ HTTP performance benchmark tool
- hyperfine โ CLI execution time comparison
- time โ Linux basic time command
- top/htop atau Task Manager โ untuk lihat CPU/Memory
- oha atau bombardier โ HTTP benchmarking
๐ Note dari README Benchmark Express
https://github.com/oven-sh/bun/blob/main/bench/express/README.md (opens in a new tab)
Disarankan menggunakan oha atau bombardier untuk benchmark. Tidak disarankan pakai ab karena menggunakan HTTP/1.0 yang sudah usang. autocannon juga tidak disarankan karena keterbatasan performa node:http client untuk mengukur kecepatan HTTP server milik Bun. Gunakan Accept-Encoding: identity untuk mencegah kompresi di Deno.
๐งช Langkah Benchmark Express
- git clone https://github.com/oven-sh/bun.git (opens in a new tab)
- Masuk ke folder ./bench/express
- Install bombardier
- Jalankan benchmark untuk masing-masing runtime
๐ Hasil Benchmark
โ Benchmark Bun
Hasil benchmark menggunakan Bun menunjukkan performa yang sangat impressive dengan request per second yang tinggi dan latency yang rendah.
โ Benchmark Node.js
Node.js menunjukkan performa yang stabil dengan ekosistem yang matang, meskipun dari segi kecepatan mulai tertinggal dibanding Bun.
โ Benchmark Deno
Sebelum melakukan benchmark, code program ada yang perlu diganti & deno tidak ada deno install karena saat running deno, akan install dependencies library yang dibutuhkan terlebih dahulu kemudian running aplikasi.
Deno menunjukkan performa yang menjanjikan dengan keamanan bawaan yang lebih baik.
โ Benchmark Dari website Bun
Dari berbagai metrik yang tersedia di website resmi Bun, terlihat jelas bahwa Bun unggul dalam berbagai aspek performa.
๐ Kesimpulan
๐ก Kalau kamu ingin bikin server cepat dan ringan, โก๏ธ Bun bisa jadi pilihan utama.
๐ฆ Kalau butuh ekosistem library yang stabil, โก๏ธ Node.js masih sangat relevan.
๐ Kalau ingin runtime modern & secure, โก๏ธ Deno layak dipertimbangkan.
๐ฌ Catatan Tambahan:
- ๐ฅ Dari berbagai metrik, Bun secara konsisten unggul performa.
- ๐ข Node.js mulai tertinggal, walau secara ekosistem tetap juara.
- ๐ฑ Deno menunjukkan potensi menjanjikan, terutama dalam latensi dan efisiensi.
Disclaimer
Hasil benchmark ini bisa berbeda dengan hasil yang Kamu lakukan sendiri ya. Dan ini hanya eksperimen sederhana untuk mengetahui benchmark masing-masing.
Kalau setuju atau punya insight tambahan, feel free komen ya! ๐๐
#Nodejs #Bun #Deno #Benchmark #WebDevelopment #JavaScript #PerformanceTest