ハクソク

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

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のゴチャゴチャだったけど。