Обновление движка блокировки рекламы в Brave на Rust снизило потребление памяти на 75%
Браузер Brave обновил свой движок блокировки рекламы на основе Rust, чтобы сократить потребление памяти на 75%. Это обеспечивает лучшее время автономной работы и более плавную многозадачность.
Обновление экономит примерно 45 МБ памяти для браузера Brave на всех платформах (Android, iOS и настольные компьютеры) по умолчанию и ещё больше у пользователей с включёнными дополнительными списками блокировки рекламы.
Улучшения производительности уже доступны в Brave v1.85, а дополнительные оптимизации появятся в v1.86.
Разработчики достигли такого рубежа в плане использования памяти, итеративно переработав движок adblock-rust для использования FlatBuffers — компактного и эффективного формата хранения. Этот архитектурный переход позволил перенести примерно 100 тысяч фильтров блокировки рекламы, поставляемых по умолчанию, из стандартных структур данных Rust в Vecs, HashMap и т. д. в специализированный бинарный формат без копирования.
Попутно разработчики завершили несколько других ключевых оптимизаций:
управления памятью за счёт векторов в стеке, что позволило сократить выделение памяти на 19% и улучшить время сборки примерно на 15%;
скорости сопоставления фильтров на 13% за счёт токенизации распространённых шаблонов регулярных выражений;
совместного использования ресурсов между экземплярами механизмов блокировки рекламы, что позволяет сэкономить около 2 МБ памяти на настольных компьютерах;
оптимизации внутренней памяти до 30% для хранения ресурсов.
В отличие от блокировки рекламы в других браузерах, механизм Brave является встроенным и поддерживается командой по обеспечению конфиденциальности. Эта нативная архитектура объясняет, почему блокировка рекламы и трекеров в Brave полностью не затрагивается Manifest V3.
В декабре Brave
Читать на habr.com
