Blaze: Biên dịch lại Rust nhanh gấp 92 lần so với cargo/rustc
Dự án mã nguồn mở Blaze giới thiệu công cụ biên dịch tăng dần cho Rust, cho phép biên dịch lại chỉ trong vài mili giây thay vì vài giây. Công cụ này chạy song song với cargo, giữ dự án đã biên dịch trong bộ nhớ và chỉ biên dịch những hàm bị thay đổi, hứa hẹn tăng tốc đáng kể quy trình phát triển.

Blaze: Biên dịch lại Rust nhanh gấp 92 lần so với cargo/rustc
Một dự án mã nguồn mở mới có tên Blaze đang thu hút sự chú ý của cộng đồng lập trình Rust khi công bố khả năng biên dịch tăng dần (incremental build) nhanh hơn hẳn quy trình truyền thống của cargo và rustc. Thay vì chờ đợi hàng giây mỗi lần sửa code, Blaze đưa thời gian biên dịch lại xuống mức vài mili giây, mở ra triển vọng thay đổi cách các lập trình viên Rust làm việc hằng ngày.
Giao diện minh họa của Blaze
Cách Blaze hoạt động
Điểm cốt lõi của Blaze là nó không thay thế cargo mà chạy song song bên cạnh. Sau lần biên dịch đầu tiên bằng cargo, Blaze giữ dự án đã được biên dịch trong bộ nhớ. Khi bạn sửa một hàm, nó chỉ biên dịch đúng phần thay đổi rồi ghi kết quả vào chương trình mà cargo đã tạo ra, thay vì liên kết lại toàn bộ từ đầu.
Cách sử dụng rất đơn giản, gần như giữ nguyên thói quen cũ:
blaze runtương đươngcargo runblaze testtương đươngcargo testblaze buildtương đươngcargo build
Mọi lệnh cargo khác sẽ được chuyển thẳng cho cargo xử lý. Sau lần chạy đầu tiên, chỉ cần vài giây để Blaze nạp dự án, sau đó các lần biên dịch lại chỉ mất vài mili giây và dòng "Finished" sẽ hiển thị nhãn [ra-jit] — tên gọi cũ của engine này.
Con số ấn tượng
Theo nhóm phát triển, các lần biên dịch lại sau khi sửa code nhanh hơn trung bình 10 lần trên macOS arm64, 24 lần trên Linux aarch64 và 11 lần trên Linux x86-64 so với cargo build. Với tính năng live edit, thời gian từ lúc lưu file đến khi chương trình chạy với code mới chỉ khoảng 20 mili giây.
Một số kết quả benchmark trên Linux x86-64 cho thấy mức cải thiện rõ rệt:
- ripgrep: từ 508 ms xuống 56 ms (nhanh 9,1 lần)
- nushell: từ 1,25 giây xuống 236 ms (nhanh 5,3 lần)
- helix: từ 2,15 giây xuống 116 ms (nhanh 19 lần)
- bun (1,25 triệu dòng Rust): từ 9,11 giây xuống 451 ms (nhanh 20 lần)
Những điều cần lưu ý
Blaze không phải là giải pháp "vạn năng". Công cụ hiện hỗ trợ macOS trên chip Apple silicon và Linux; trên Windows, mọi lệnh vẫn do cargo đảm nhận.
Đáng chú ý, Blaze sử dụng toolchain Rust riêng (phiên bản blaze-2026-10-25, hiện là bản nightly của ngày đó) bất kể dự án của bạn ghim phiên bản nào. Điều này có nghĩa toolchain chính thức và CI của bạn vẫn là "tiếng nói cuối cùng" để đảm bảo tính chính xác.
Blaze đánh đổi bộ nhớ để lấy tốc độ: vài gigabyte cho một dự án nhỏ.
Ngoài ra, dự án vẫn còn non trẻ. Nhóm phát triển khuyến nghị người dùng giữ cargo check hoặc CI làm chuẩn cuối và báo cáo khi phát hiện sự khác biệt so với cargo.
Nền tảng và định hướng
Blaze được xây dựng dựa trên nhiều dự án lớn trong hệ sinh thái Rust, bao gồm rust-analyzer (phân tích và MIR), Cranelift (trình sinh mã nhanh), LLVM và inkwell cho các tầng tối ưu, cùng salsa làm engine tăng dần bên dưới. Công cụ được phát hành theo giấy phép MIT hoặc Apache-2.0.
Với các đội nhóm đang phải chờ đợi lâu mỗi lần build Rust, đây có thể là hướng đi đáng quan tâm. Nhóm phát triển cho biết đang hợp tác với một số đội ngũ để xây dựng CI Rust nhanh và biên dịch từ xa dựa trên Blaze, đồng thời mời cộng đồng đóng góp ý kiến về những điểm nghẽn trong quy trình hiện tại.


