- Công cụ chặn quảng cáo dựa trên Rust đã được đại tu lớn, giúp giảm 75% mức sử dụng bộ nhớ
- Kiến trúc mới áp dụng định dạng FlatBuffers để lưu khoảng 100.000 bộ lọc mặc định dưới dạng nhị phân zero-copy
- Nhờ đó, trên mọi nền tảng (desktop·iOS·Android) mặc định sẽ tiết kiệm khoảng 45MB bộ nhớ
- Ngoài ra, nhiều tối ưu hiệu năng đã được áp dụng như quản lý bộ nhớ·tốc độ khớp·chia sẻ tài nguyên·hiệu quả lưu trữ
- Với cấu trúc công cụ native không chịu ràng buộc của Manifest V3, hiệu năng trình duyệt và bảo vệ quyền riêng tư đều được tăng cường
Tổng quan về đợt cải tổ công cụ chặn quảng cáo của Brave
- Brave đã đại tu toàn diện công cụ adblock dựa trên Rust (adblock-rust), giúp giảm 75% mức sử dụng bộ nhớ
- Với cải tiến này, trên mọi nền tảng (Android, iOS, desktop) mặc định sẽ tiết kiệm khoảng 45MB bộ nhớ
- Nếu dùng thêm các danh sách bộ lọc bổ sung, mức tiết kiệm còn lớn hơn
- Công cụ đã được cải tiến được áp dụng trong Brave v1.85, và sẽ có thêm tối ưu trong v1.86
- Theo ảnh chụp màn hình so sánh, từ phiên bản v1.79.118 → v1.85.118, mức sử dụng bộ nhớ đã giảm từ 162MB → 104MB
Chuyển sang kiến trúc dựa trên FlatBuffers
- Đúng như Brave đã báo trước vào tháng 6 và tháng 10 năm 2025, hãng đã refactor công cụ sang nền tảng FlatBuffers
- FlatBuffers là định dạng lưu trữ gọn nhẹ và hiệu quả, thay thế các cấu trúc dữ liệu Rust dựa trên heap như Vec, HashMap, struct
- Khoảng 100.000 bộ lọc chặn quảng cáo được chuyển sang định dạng nhị phân zero-copy để tối đa hóa hiệu quả bộ nhớ
Các hạng mục tối ưu hiệu năng chi tiết
- Cải thiện quản lý bộ nhớ: dùng vector cấp phát trên stack để giảm 19% số lần cấp phát bộ nhớ, rút ngắn 15% thời gian build
- Tăng tốc độ khớp: token hóa các mẫu regex dùng chung để cải thiện 13% hiệu năng khớp bộ lọc
- Chia sẻ tài nguyên: chia sẻ tài nguyên giữa nhiều instance công cụ adblock, giúp tiết kiệm khoảng 2MB trên desktop
- Hiệu quả lưu trữ: tối ưu 30% bộ nhớ dùng để lưu trữ tài nguyên nội bộ
Lợi ích về hiệu năng trình duyệt và kiến trúc
- Việc tiết kiệm hơn 45MB bộ nhớ là lợi ích lớn cho người dùng thiết bị di động và phần cứng cũ
- Brave vốn đã cải thiện hiệu năng web bằng cách chặn quảng cáo và tracker, và qua đợt cải tổ này còn đạt được sự gọn nhẹ cho chính tính năng bảo vệ tích hợp của mình
- Công cụ chặn quảng cáo của Brave có kiến trúc native được tích hợp sẵn trong trình duyệt, nên
- không bị ảnh hưởng bởi các ràng buộc API trình duyệt hay sandbox như các trình chặn dựa trên extension
- vì vậy không bị tác động bởi các thay đổi của Manifest V3
Ý nghĩa kỹ thuật và tổ chức
- Mức tăng hiệu năng lần này là kết quả của nhiều tháng kỹ thuật nhờ sự hợp tác giữa đội hiệu năng và đội quyền riêng tư
- Thông qua đó, Brave cải thiện mạnh hiệu quả của trình duyệt và tiếp tục cung cấp các tính năng bảo vệ quyền riêng tư hàng đầu cho hơn 100 triệu người dùng
1 bình luận
Ý kiến trên Hacker News
Engine chặn quảng cáo của Brave là một ví dụ hay về mã nguồn mở viết bằng Rust
Nó dùng parser CSS của Servo và crate để đánh giá selector, bản thân nó cũng được công khai trên crates.io nên các dự án khác có thể dễ dàng mang về dùng
Muốn biết Cargo có cơ chế nào quản lý việc này khác đi không
Phần lớn chương trình được liên kết tĩnh, và ngay cả nhiều tiến trình của cùng một ứng dụng cũng không thể chia sẻ mã chung trong bộ nhớ
Tôi đã viết suy nghĩ của mình về chuyện này trong bài blog
Dù Brave có tiết kiệm bộ nhớ 110% thì tôi vẫn không tin tưởng
Họ đã nhiều lần có tiền sử động vào dữ liệu người dùng
Thật ngạc nhiên là vẫn chưa có một bản fork cộng đồng của Brave loại bỏ các thành phần thương mại (rewards, AI, tự cập nhật, v.v.)
Nếu có phiên bản như vậy thì nó còn có thể được đưa vào các bản phân phối Linux tự do
Brave đang chuẩn bị một dự án để giải quyết chuyện này tên là Brave-origin, có nhắc đến trong tweet của Brendan Eich
Tôi đã dùng nó làm trình duyệt hằng ngày suốt nửa năm và nó khá ổn định
Chỉ là tôi muốn tích hợp 1Password được cải thiện thêm
Việc tắt ví hay các tùy chọn liên quan đến AI khi cài đặt là điều có thể chấp nhận được
Nhưng nếu có một bản fork như Braveium thì tôi sẽ chuyển ngay
Từ 162 xuống 104 mà gọi là giảm 75% thì cách tính đó có vấn đề
Từ khi cài Brave, tôi không còn thấy quảng cáo chút nào trên cả iOS lẫn Mac
Theo trải nghiệm của tôi thì nó hoạt động hoàn hảo
Giờ tôi mới biết Brave hỗ trợ Vertical Tabs
Xem blog chính thức xong đang cân nhắc chuyển từ Firefox sang
Sidebery(liên kết) và Tree Style Tabs(liên kết) đã triển khai vertical tabs rất tốt từ lâu
Hơn nữa, từ Firefox v136 thì tính năng vertical tabs mặc định cũng đã được tích hợp sẵn
Hy vọng thay đổi lần này sẽ khiến các nhà phát triển bắt đầu quan tâm trở lại đến hiệu quả tài nguyên
Tôi nghĩ càng có nhiều mã Rust thì AI sẽ càng viết tốt hơn
Phiên bản trước đó cũng đã được viết bằng Rust
Môi trường như vậy có thể sẽ buộc người ta phải cải thiện hiệu quả
Tôi thích Brave nhưng trên di động không có tiện ích mở rộng nên dùng Firefox
Trên Android, Firefox là trình duyệt chính của tôi
Nó nhanh hơn nhiều, và dù không có extension nhưng ép dark mode cùng chặn quảng cáo là đủ cho nhu cầu của tôi
Nó là một lựa chọn thay thế rất tốt cho Kiwi Browser
Môi trường trên từng hệ điều hành khác nhau nên thật sự rất khó giữ thiết lập đồng nhất
Xem tweet chính thức
45MiB mỗi tab là con số khá lớn
Dạo này mỗi tab dùng tiến trình riêng nên khó mà bỏ qua
Nếu vậy thì có thể tận dụng lợi ích của việc khử trùng lặp bộ nhớ CoW
Tôi tự hỏi liệu Brave vẫn là giao diện phía trước cho các trò pump-and-dump tiền mã hóa hay không