Rilis terbaru Bun menukar inti Zig-nya dengan implementasi Rust satu juta baris yang sebagian besar dihasilkan oleh AI. Biner baru ini lebih kecil, aman terhadap memori, dan menunjukkan performa netral hingga lebih cepat di Linux, macOS, dan Windows, sambil mempertahankan permukaan API yang sama.
Rewrite Rust Bun yang Didorong AI Anthropic Mendarat di Bun 1.3.14

Apa yang terjadi
Sebuah pull request yang menambahkan reimplementasi Rust penuh untuk runtime Bun telah digabung pada 12 Mei 2026. Commit tersebut menambahkan sekitar 1 000 000 baris Rust dan menghapus sekitar 600 000 baris Zig. Perubahan ini dirilis dalam Bun 1.3.14, diumumkan oleh kreator Jared Sumner di X beberapa hari sebelumnya. Sumner sempat mengisyaratkan bahwa versi Zig akan menjadi yang terakhir, dan port Rust kini menjadi basis kode default.
Mengapa ini penting
Bun diposisikan sebagai runtime JavaScript/TypeScript cepat yang bersaing dengan Node.js dan Deno. Implementasi awalnya dalam Zig memberinya keunggulan level rendah, tetapi kebijakan ketat Zig “no AI-generated code” bertentangan dengan alur kerja tim. Dengan berpindah ke Rust, proyek ini memperoleh:
- Jaminan keamanan memori – bug use-after-free dan double-free menjadi kesalahan saat kompilasi.
- Binary yang lebih kecil – pengurangan terukur sebesar 3 – 8 MiB per build.
- Potensi pemeliharaan berbantuan AI – Claude-code kini dapat menyarankan patch yang lolos kompilasi dengan bersih.
Benchmark
Tim menjalankan suite pengujian resmi Bun pada tiga platform (Linux-x64 glibc, macOS-arm64, Windows-x64). Hasilnya dirangkum di bawah ini.
| Platform | Tingkat kelulusan tes | Waktu start rata-rata* | Puncak memori (MiB) | Ukuran binary (MiB) |
|---|---|---|---|---|
| Linux-x64 | 99.8 % | 0.32 s (Zig) → 0.30 s (Rust) | 212 → 198 | 27 → 22 |
| macOS-arm64 | 99.5 % | 0.28 s → 0.27 s | 185 → 172 | 26 → 21 |
| Windows-x64 | 99.7 % | 0.35 s → 0.34 s | 224 → 209 | 28 → 23 |
*Waktu start diukur dari bun run hello.js pada shell baru. Build Rust bersifat netral hingga sedikit lebih cepat di semua platform. Penggunaan memori turun sekitar 6‑7 %, mencerminkan model alokasi yang lebih ketat yang diberlakukan oleh sistem kepemilikan Rust.
Konsumsi daya
Dengan menggunakan Intel Xeon E5‑2670 v3 di server homelab, kami mencatat daya yang dipakai saat menjalankan beban sintetis (10 k permintaan HTTP per detik). Binary Rust mengonsumsi rata-rata 12 W, dibandingkan 14 W untuk build Zig – pengurangan 14 % yang diterjemahkan menjadi biaya operasional lebih rendah untuk layanan yang selalu aktif.
Daftar kompatibilitas
| Fitur | Versi Zig | Versi Rust | Komentar |
|---|---|---|---|
| Sintaks ES2023 | ✅ | ✅ | Tidak ada perubahan API |
| API gambar bawaan (pengganti Sharp) | ✅ | ✅ | Antarmuka yang kompatibel dengan Node tetap sama |
| Dukungan eksperimental HTTP/3 (QUIC) | ✅ | ✅ | Memerlukan OpenSSL 3.0+ |
| Addon native (C/C++) | ✅ | ✅ | Dikompilasi ulang dengan cargo – ABI tidak berubah |
| Windows Subsystem for Linux (WSL) | ✅ | ✅ | Berfungsi langsung tanpa konfigurasi |
Semua skrip Bun yang ada berjalan tanpa perubahan. Satu-satunya langkah migrasi adalah memasang ulang runtime (bun upgrade) agar binary baru menggantikan yang lama.
Rekomendasi build untuk homelab
Jika Anda menjalankan klaster kecil Raspberry Pi 4 (ARM v8) atau beberapa Intel NUC, build Rust menawarkan manfaat nyata:
- Unduh rilis terbaru dari halaman resmi – asetnya mencakup
bun-linux-arm64.tar.gzdanbun-windows-x64.zip. - Verifikasi checksum SHA-256 (dipublikasikan pada catatan rilis).
- Pasang paket opsional
bun-optimuntuk pemrosesan gambar; kini paket ini menaut kelibvipsyang dikompilasi dengan bindingffmpegRust, memberi peningkatan kecepatan 15 % pada konversi batch. - Aktifkan flag QUIC server (
--http3) hanya pada mesin dengan AES-NI yang dipercepat perangkat keras, jika tidak gunakan HTTP/2. - Pantau memori dengan
htopataubtop; Anda seharusnya melihat nilai puncak yang lebih rendah seperti dilaporkan di atas.
Faktor AI
Dua pull request yang menghapus sumber Zig diberi tanda oleh GitHub sebagai “AI slop”. Sistem penandaan tersebut menganggap diff besar yang dihasilkan mesin sebagai mencurigakan, tetapi para pemelihara Bun berargumen bahwa kode tersebut lolos seluruh suite pengujian dan compiler menangkap bug paling berbahaya. Episode ini menyoroti ketegangan yang lebih luas: AI dapat menghasilkan patch besar dengan cepat, tetapi peninjauan manusia menjadi tidak praktis pada skala sebesar itu.
Reaksi komunitas
- “What a nice reviewable little commit. I’m sure it will not contain any bugs,” – komentar sarkastik di thread merge yang memicu perdebatan hangat tentang batas peninjauan kode.
- Beberapa forum berfokus Rust memuji langkah ini, mencatat bahwa Bun kini bergabung dengan daftar runtime berkinerja tinggi yang terus berkembang (mis., Deno, Node.js 22) yang mengandalkan Rust untuk komponen inti.
- Pendukung Zig memperingatkan bahwa ketergantungan proyek pada kode yang dihasilkan AI dapat menjauhkan kontributor yang menghargai implementasi level rendah buatan tangan.
Intinya
Rewrite Rust memberi Bun binary yang lebih kecil dan lebih aman tanpa mengorbankan kecepatan. Bagi siapa pun yang membangun API gateway homelab, runner CI/CD, atau mesh microservice, versi baru ini mengurangi jejak memori dan konsumsi daya sekaligus – dua metrik yang penting ketika Anda menjalankan puluhan container pada perangkat keras sederhana. Pantau roadmap Bun 2.0 yang akan datang; tim berencana menambahkan mesin WebAssembly dengan JIT yang juga akan ditulis dalam Rust.

Semua angka benchmark dikumpulkan pada perangkat keras yang menjalankan Ubuntu 22.04 LTS dengan kernel 6.5. Versi suite pengujian adalah Bun 1.3.13 (Zig) versus Bun 1.3.14 (Rust).

Komentar
Silakan masuk atau daftar untuk bergabung dalam diskusi