Bun 1.4 chính thức ra mắt: Hiệu năng vượt trội, viết lại toàn bộ bằng Rust và loạt tính năng mới
Bun 1.4 vừa được phát hành với tuyên bố viết lại toàn bộ mã nguồn từ Zig sang Rust, mang lại hiệu suất ấn tượng: giảm CPU khi rảnh 5 lần, giảm bộ nhớ tối đa 35% và khởi động nhanh hơn 50% trên Linux. Phiên bản này cũng bổ sung hàng loạt API và công cụ tích hợp sẵn như Bun.Image, Bun.WebView, Bun.cron, cùng khả năng tương thích Node.js được cải thiện đáng kể với hơn 1.517 bài test mới vượt qua.

Bun 1.4 chính thức ra mắt: Hiệu năng vượt trội, viết lại toàn bộ bằng Rust và loạt tính năng mới
Bun 1.4 đã chính thức được phát hành, đánh dấu một cột mốc quan trọng khi toàn bộ mã nguồn của toolkit JavaScript/TypeScript này được viết lại từ Zig sang Rust. Phiên bản mới hứa hẹn mang lại hiệu suất vượt trội với mức tiêu thụ CPU khi rảnh giảm 5 lần, bộ nhớ giảm tới 35% và tốc độ khởi động nhanh hơn 50% trên Linux, cùng vô số tính năng và API tích hợp sẵn mới.
Đây là một trong những bản cập nhật lớn nhất của Bun kể từ phiên bản 1.0, với hơn 1.517 bài test mới từ bộ kiểm thử Node.js được thông qua và hơn 2.900 lỗi được sửa. Các nhà phát triển có thể nâng cấp lên Bun 1.4 ngay lập tức bằng lệnh bun upgrade.
Hiệu năng được cải thiện đáng kể
Một trong những điểm nhấn lớn nhất của Bun 1.4 là tối ưu hóa hiệu năng toàn diện. Với các ứng dụng sử dụng HTTP server, mức giảm bộ nhớ đạt từ 13% đến 48% tùy framework. Cụ thể, Fastify giảm tới 48%, trong khi Express và Elysia giảm khoảng 40% so với phiên bản 1.3.
Thời gian khởi động cũng được rút ngắn đáng kể: trên Linux, Bun 1.4 khởi động nhanh gấp đôi và chỉ mất 5.1ms so với 10.9ms của Bun 1.3 và 27.2ms của Node.js 26. Trên Windows, tốc độ khởi động nhanh hơn 2.5 lần. Kích thước binary trên Linux và Windows cũng được giảm tới 17%.
Đồ thị so sánh CPU khi rảnh
So sánh mức sử dụng CPU khi rảnh của Bun 1.3 và 1.4.
Đối với các ứng dụng chạy dài như Claude Code, mức sử dụng CPU trong production giảm 2 lần (p99 từ 24% xuống 10%). Việc chuyển sang sử dụng mimalloc làm bộ cấp phát bộ nhớ chính cùng các tối ưu hóa về cơ chế garbage collector và giảm số lần gọi futex đã giúp đạt được những con số ấn tượng này.
Viết lại toàn bộ bằng Rust
Điểm đặc biệt nhất của Bun 1.4 là quyết định táo bạo khi viết lại toàn bộ runtime từ Zig sang Rust. Đội ngũ phát triển cho biết bản port Rust này đã được sử dụng trong sản xuất nhiều tháng qua, tiêu biểu là Claude Code và nền tảng Prisma Compute.
Việc chuyển đổi này không chỉ giúp cải thiện hiệu năng mà còn tạo nền tảng vững chắc hơn cho việc phát triển các tính năng trong tương lai.
Tương thích Node.js tốt hơn nhiều
Bun 1.4 ghi nhận bước nhảy lớn nhất về tương thích Node.js kể từ Bun 1.0. Có thêm 1.517 bài test từ bộ kiểm thử Node.js được thông qua, nâng tổng số lên con số ấn tượng. Các module như node:events, node:trace_events và node:sqlite đạt 100% tỷ lệ pass, trong khi node:http, node:fs, node:cluster... đạt 97%.
Tiến trình kiểm thử Node.js
Tỷ lệ pass các bài test từ Node.js test suite của Bun 1.4.
Nhiều framework và thư viện phổ biến giờ đây hoạt động tốt hơn trên Bun, bao gồm Nuxt, Playwright, TypeORM, Fastify inject(), OpenTelemetry và dd-trace.
Loạt API và công cụ tích hợp sẵn mới
Bun 1.4 giới thiệu nhiều API được đóng gói sẵn trong binary, loại bỏ nhu cầu cài đặt thêm các dependency phổ biến:
-
Bun.Image: Thư viện xử lý ảnh tích hợp cho phép decode, resize, rotate và encode các định dạng JPEG, PNG, WebP, GIF, BMP. Nhanh hơn 1.38 lần so với
sharptrong tác vụ resize ảnh PNG sang JPEG. -
Bun.WebView: Tự động hóa trình duyệt headless ngay trong Bun mà không cần Puppeteer hay Playwright. Hỗ trợ điều hướng, click, scroll, chạy JavaScript và chụp màn hình.
-
Bun.cron(): Lên lịch các tác vụ định kỳ ở cấp hệ điều hành (crontab trên Linux, launchd trên macOS, Task Scheduler trên Windows).
-
Bun.markdown(): Trình phân tích Markdown tích hợp, hỗ trợ xuất HTML, React elements hoặc tùy chỉnh render cho terminal.
-
Bun.Terminal: Cung cấp pseudo-terminal (PTY) tích hợp, cho phép điều khiển bash, vim, htop từ JavaScript mà không cần
node-pty.
Ngoài ra, lệnh bun run --parallel cho phép chạy nhiều script song song với output được prefix theo tên script, thay thế các công cụ như npm-run-all và concurrently.
Stream hiệu năng cao và backpressure
Các API ReadableStream, WritableStream và TransformStream giờ được triển khai native, giúp cải thiện đáng kể hiệu suất và giảm mức sử dụng bộ nhớ. Bun.serve tự động áp dụng cơ chế backpressure — dừng phát dữ liệu khi socket đầy, ngăn chặn tình trạng hết bộ nhớ với các client chậm.
Sơ đồ pipeline xử lý ảnh
Sơ đồ minh họa các pipeline stream trong Bun 1.4.
Benchmark cho thấy throughput của các pipeline stream (download, upload, transcode, subprocess) trong Bun 1.4 vượt trội so với Node.js 26 và Deno 2.9, đồng thời sử dụng ít bộ nhớ hơn.
Quan sát và debug tốt hơn
Bun 1.4 bổ sung các tùy chọn mới giúp việc profiling và debug dễ dàng hơn, đặc biệt hữu ích khi làm việc qua SSH hoặc gửi báo cáo lỗi:
bun --cpu-prof-md: Ghi CPU profile dưới dạng Markdown, dễ đọc và tìm kiếm.bun --heap-prof-md: Ghi heap profile dạng Markdown, giúp xác định đối tượng nào đang giữ bộ nhớ.bun build --metafile-md: Phân tích bundle thành Markdown, giúp hiểu vì sao bundle lớn.process.on("memoryPressure"): Nhận thông báo khi hệ điều hành sắp hết bộ nhớ, cho phép giải phóng tài nguyên trước khi bị kill.
Kết luận
Bun 1.4 là một bản phát hành đột phá, khẳng định vị thế của Bun như một toolkit toàn diện cho phát triển JavaScript/TypeScript. Với hiệu năng vượt trội, khả năng tương thích Node.js ngày càng hoàn thiện và bộ tính năng tích hợp phong phú, Bun 1.4 là lựa chọn hấp dẫn cho các nhà phát triển muốn tối ưu hóa workflow của mình. Việc viết lại bằng Rust cũng mở ra tiềm năng phát triển lâu dài cho dự án này trong tương lai.
Bài viết liên quan

Công nghệ
Patreon ra mắt 30 tính năng mới cho nhà sáng tạo, gồm Clips dạng ngắn và hệ thống gợi ý nội dung được 'lột xác'
20 tháng 8, 2026

Công nghệ
Meta đưa Pocket – ứng dụng 'vibe-code' và chia sẻ game – đến người dùng Mỹ
20 tháng 8, 2026

Công nghệ
Vendo – Nền tảng mã nguồn mở giúp người dùng tự xây dựng tính năng ngay trong sản phẩm của bạn
20 tháng 8, 2026