- Rustベースの広告ブロックエンジンが大幅に刷新され、メモリ使用量を75%削減
- 新アーキテクチャではFlatBuffersフォーマットを導入し、約10万件の基本フィルターをゼロコピーのバイナリ形式で保存
- これによりすべてのプラットフォーム(デスクトップ・iOS・Android)で、標準で約45MBのメモリ削減
- さらにメモリ管理・マッチング速度・リソース共有・保存効率など、多数の性能最適化を適用
- Manifest V3の制約を受けないネイティブエンジン構造により、ブラウザ性能とプライバシー保護を同時に強化
Brave広告ブロックエンジン刷新の概要
- BraveはRustベースのadblockエンジン(adblock-rust)を全面刷新し、メモリ使用量を75%削減
- この改善によりすべてのプラットフォーム(Android、iOS、デスクトップ)で、標準で約45MBのメモリを節約
- 追加のフィルターリストを使用する場合は削減幅がさらに大きくなる
- 改善されたエンジンはBrave v1.85に適用され、v1.86で追加の最適化を予定
- スクリーンショット比較によると、v1.79.118 → v1.85.118でメモリ使用量が162MB → 104MBに減少
FlatBuffersベース構造への移行
- Braveは2025年6月と10月に予告したとおり、エンジンをFlatBuffersベースにリファクタリング
- FlatBuffersはコンパクトで効率的な保存フォーマットで、従来のVec、HashMap、structなどヒープベースのRustデータ構造を置き換える
- 約10万件の広告ブロックフィルターをゼロコピーのバイナリフォーマットに変換し、メモリ効率を最大化
詳細な性能最適化項目
- メモリ管理の改善: スタック割り当てベクターを使ってメモリ割り当てを19%削減、ビルド時間を15%短縮
- マッチング速度の向上: 共通の正規表現パターンをトークン化し、フィルターマッチング性能を13%向上
- リソース共有: 複数のadblockエンジンインスタンス間でリソースを共有し、デスクトップで約2MBを節約
- 保存効率: 内部リソース保存メモリを30%最適化
ブラウザ性能と構造上の利点
- 45MB以上のメモリ削減はモバイルや旧型ハードウェアの利用者に大きな利点
- Braveはすでに広告・トラッカー遮断によってWeb性能を改善しており、今回の刷新で自社保護機能の軽量化も実現
- Braveの広告ブロックエンジンはブラウザに組み込まれたネイティブ構造であり、
- 拡張機能ベースのブロッカーと異なり、ブラウザAPIの制約やサンドボックス化の影響を受けない
- そのためManifest V3の変更の影響も受けない
技術的・組織的な意味
- 今回の性能向上は性能チームとプライバシーチームの協業により、数か月にわたって進められたエンジニアリングの成果
- Braveはこれによりブラウザ効率を大幅に向上させ、
1億人を超えるユーザーに最高水準のプライバシー保護機能を継続して提供
1件のコメント
Hacker News の反応
Braveの広告ブロックエンジンは、Rustで書かれたオープンソースの好例だと思う
ServoのCSSパーサーとセレクター評価用crateを使っていて、それ自体もcrates.ioで公開されているので、他のプロジェクトでも簡単に利用できる
Cargoにそれを別の形で管理する仕組みがあるのか知りたい
ほとんどのプログラムが静的リンクされ、同じアプリの複数プロセスですらメモリ内の共通コードを共有できない
この点についての考えをブログ記事にまとめた
Braveがメモリを110%節約したとしても、私は依然として信用しない
すでに何度もユーザーデータに手を出した前歴がある
Braveの商用要素(リワード、AI、独自アップデーターなど)を取り除いたコミュニティフォークがまだ存在しないのは意外だ
そういう版があれば自由なLinuxディストリビューションにも入れられるはずなのに
Braveはこれを解決するためにBrave-originというプロジェクトを準備しており、Brendan Eichのツイートで言及されている
半年ほど日常使いのブラウザーとして使っているが、かなり安定している
ただ、1Password統合はもう少し改善されると嬉しい
インストール時にウォレットやAI関連のオプションをオフにする程度なら許容できる
でもBraveiumのようなフォークが出たらすぐ乗り換えるつもりだ
162から104に減ったのを75%減少というのは計算がおかしい
Braveをインストールしてから、iOSでもMacでも広告をまったく見ていない
私の利用経験では完璧に機能している
Braveが縦タブ(Vertical Tabs) をサポートしていることを今知った
公式ブログを見て、Firefoxから移ろうか考えている
Sidebery(リンク)やTree Style Tabs(リンク)がずっと前から縦タブをうまく実装している
しかもFirefox v136からは標準の縦タブ機能も内蔵されている
今回の変化が、開発者たちが再びリソース効率を意識し始めるきっかけになってほしい
Rustコードが増えるほどAIがよりうまく書けるようになると思う
以前のバージョンもRustで書かれていた
こうした環境が効率改善を強いるかもしれない
Braveは好きだが、モバイルで拡張機能がないのでFirefoxを使っている
AndroidではFirefoxがメインブラウザーだ
ずっと速く、拡張機能はないがダークモード強制や広告ブロックなど、自分の用途には十分だ
Kiwi Browserの優れた代替だ
OSごとに環境が違うので、統一された設定を維持するのが本当に難しい
公式ツイート参照
タブあたり45MiBならかなり大きい数値だ
今はタブごとに別プロセスを使うので、無視しにくい
そうであればCoWメモリ重複排除の恩恵を受けられる
Braveは今でも暗号資産のパンプ・アンド・ダンプ向けフロントなのだろうか