世界を動かす技術を、日本語で。

BraveがRust製の広告ブロックエンジンをFlatBuffersで改良し、メモリ使用量を75%削減

概要

BraveブラウザのRust製アドブロックエンジンが 大幅に最適化 され、 メモリ消費が75%削減。 このアップグレードは 全プラットフォーム で約45MBのメモリ節約を実現。 新しい FlatBuffersアーキテクチャ の導入による効果。 バッテリー寿命向上やマルチタスクの快適化 に寄与。 今後もさらなる最適化が v1.86 で予定。

Braveのアドブロックエンジン大幅刷新によるメモリ削減

  • Brave のアドブロックエンジンが Rustベース で全面的に刷新

  • メモリ消費75%削減、全ユーザーに恩恵

  • バッテリー寿命延長マルチタスクの快適化 を実現

  • Android、iOS、デスクトップ で約45MBのメモリ節約

  • 追加のアドブロックリスト利用時はさらに節約効果

    • v1.85 で最適化が実装済み、 v1.86 で追加改善予定
    • バージョン1.79.1181.85.118 の比較で、 162MB→104MB への削減を確認

FlatBuffersによるアーキテクチャ転換と最適化

  • FlatBuffers 導入で、 約10万件のアドブロックフィルタ を効率的に格納
  • 従来の Vecs、HashMaps、構造体 から、 ゼロコピーのバイナリ形式 へ移行
  • メモリ消費削減高速化 を両立
  • メモリ管理 の改善で、 スタック割り当てベクタ を利用し、 割り当て19%削減・ビルド時間15%短縮
  • フィルターマッチ速度13%向上、共通の正規表現パターンをトークナイズ
  • リソース共有 で、デスクトップでは 約2MBの追加節約
  • 内部リソース格納の効率化30%のメモリ削減

Brave独自のネイティブアドブロックの強み

  • Brave のアドブロックエンジンは ブラウザ本体に組み込み

  • プライバシーチーム による直接管理・最適化

  • 拡張機能型アドブロック では不可能な 深い最適化 を実現

  • Manifest V3 の影響を受けない堅牢な設計

  • 100万人以上のユーザー に向けた最先端のプライバシー提供

    • パフォーマンスチームとプライバシーチーム のクロスチーム協力による成果
    • モバイルや旧型ハードウェア でも大きな恩恵

関連記事

  • Braveの プライバシー機能アドブロック技術 に関する詳細
  • 最新の バージョンアップ情報最適化事例

Hackerたちの意見

45MiB節約することに、どれくらい感心すればいいのか分からないな。

45MiBはデフォルトの広告ブロック設定の分で、ブロックリストを増やすともっと増えるよ。最近の製品は効率を気にしないから、パフォーマンス改善は大歓迎だね。

最近の話?今のRAMの価格か、たくさんあるElectronアプリの肥大化のことを言ってるの?

そうそう。

広告ブロックのデータはリクエストごとにアクセスされるから、これは45MiBのCPUキャッシュってことだね。

すごくね。最近まで4.5MBの節約にどれだけ感動すべきか分からなかったからね。エマックスが「8メガバイトで常にスワッピング」っていうバックアクロニムになったの覚えてる? あれもそんなに昔じゃないよね。今じゃ8メガバイトなんて、クソみたいなnpmパッケージの一部として、ブラウザウィンドウに広告をぶち込むために使われるJSライブラリが取るサイズだし。

Braveの広告ブロックエンジンは、オープンソースの良い例だし、Rustでライブラリを共有するのも簡単だよ。CSSを解析してセレクタを評価するのにServoクレート(Firefoxでも使われてる)を使ってて、さらにそれ自体がcrates.ioでクレートとして公開されてるから、他の人が使いたいときに取り込めるんだ。

それって、node/npmみたいにサプライチェーン攻撃のリスクがあるってこと?それともcargoは何か違う管理方法(デューデリジェンスとか)をしてるのかな?

それにしても、Rustのエコシステムは実質的にランタイムライブラリの共有を潰したよね? すべてのプログラムがメンテナンス用の大きなシステムの構成要素じゃなくて、最終製品だっていう考え方で、開発時に指定された具体的な依存バージョンと静的にリンクされてるし。それに、同じアプリの複数のワーカープロセスが、このライブラリやUIツールキット、マルチメディアデコーダーみたいな共通コードをメモリで共有できないんだよね? 追記。実は、私の(Rust初心者だけど)考えをリスクを冒して共有するよ: https://shatsky.github.io/notes/2025-12-22_runtime-code-shar...

それってタブごとに45MiBなの?みんな笑ってるけど、今はタブがプロセスだからね…

最近は、サイトの分離のおかげで、各タブが十数個以上のプロセスになることもあるよね。

これが開発者たちがリソースを効率的に使うことを意識するきっかけになればいいな、特にブラウザではね。Rustがもっと書かれるほど、AIも人のためにそれをうまく書けるようになるし…楽観的でいたいな。

その広告ブロッカーはすでにRustで書かれてるんだよね。

「これが開発者がリソースを効率的に使うことを再び意識するきっかけになればいいな、特にブラウザで。AIがこれを促したのかもしれない。2026年の大DRAM騒動のおかげで、ユーザーはハードウェアのアップグレードでソフトウェアのパフォーマンスを補うことができなくなるだろう。」

「これが開発者がリソースを効率的に使うことを再び意識するきっかけになればいいな、特にブラウザで。」 俺もそう思う。 >「Rustが書かれるほど、Rustは開発者がメモリ効率を気にする必要があるかどうかには、必要でも十分でもないみたいだけど。」

今回の見出しのRust部分は、実際には偶然の産物だと思う。もっとリソースを使っていた前のバージョンもRustで書かれてたし。

Braveが縦タブをサポートしてるって知った! https://brave.com/blog/vertical-tabs/ FFから乗り換えてみようかな…

ネストされたタブに対応してるのかな? そうすれば、たくさんのタブを視覚的にナビゲートするのがすごく楽になるよね。

Firefoxの大きな強みはアドオンだよね?Sidebery [1]はずっと前から縦タブの実装がしっかりしてるし、その人気が出る前はTree Style Tabs [2]もかなり便利なソリューションだった。でも今は、Firefox v136 [3][4]から縦タブがネイティブになったから、基本的にはアドオンなしでも大丈夫だよ。 [1]: https://addons.mozilla.org/firefox/addon/sidebery/ [2]: https://addons.mozilla.org/firefox/addon/tree-style-tab/ [3]: https://news.ycombinator.com/item?id=41192118 [4]: https://news.ycombinator.com/item?id=43254871

iOSのアップデートノートにこれが全く触れられてないのが面白いね:> このリリースでは:> その他の改善、安定性の向上、セキュリティの更新 効率や広告ブロックについては一切言及なし!

iOS版のBraveって実際に同じコードベースなの? 私の理解では、iOSのブラウザは全てSafariをラップしなきゃいけないから、リリースノートもそうなるのかな。でも、iOSの開発はしてないから、間違ってるかもしれない。

商業的な要素(報酬、AI、自分のアップデート)を取り除いたBraveのコミュニティフォークがまだ存在しないのが驚きだよ。これがあれば、メインストリームのフリー/リブレなLinuxディストリビューションのリポジトリに入れやすくなるのに。

ブラウザを運営するには結構なコストがかかるんだよね(規模的に)。Braveは、君が言ってることを実現する「Brave-origin」っていうものを提供しようとしてる。ブレンダンがここでちょっと詳しく話してるよ: https://x.com/BrendanEich/status/2006412918783619455

うざいけど、Braveは簡単に削除できるから、インストールごとに一回やれば大丈夫だよ。

Braveをインストールしたら、ワンクリックでbatを隠せるよ。

Braveってまだ暗号通貨のポンプ・アンド・ダンプスキームのフロントなの?

そんなことはなかった。

Braveは好きだけど、モバイルで使わない理由は拡張機能がないからなんだよね。だから、AndroidではFirefoxをメインで使ってる。

来るよ。 https://x.com/brave/status/2008244198060028063

Braveって今は実際にいいブラウザになったの? 書き直したのかな? 最後に見たときは、ジャンクなJavaScriptのゴチャゴチャだったけど。