Brave 브라우저, 광고 차단 엔진 전면 개편으로 메모리 사용량 75% 절감
(brave.com)- 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는 이미 광고·트래커 차단을 통해 웹 성능을 개선하고 있으며, 이번 개편으로 자체 보호 기능의 경량화를 달성
- Brave의 광고 차단 엔진은 브라우저에 내장된 네이티브 구조로,
- 확장 프로그램 기반 차단기와 달리 브라우저 API 제약이나 샌드박싱의 영향을 받지 않음
- 따라서 Manifest V3 변경에도 영향 없음
기술적·조직적 의미
- 이번 성능 향상은 성능팀과 프라이버시팀 간 협업으로 수개월간 진행된 엔지니어링 결과
- Brave는 이를 통해 브라우저 효율성을 대폭 향상시키고,
1억 명 이상의 사용자에게 최고 수준의 프라이버시 보호 기능을 지속 제공
Hacker News 의견들
-
Brave의 광고 차단 엔진은 Rust로 작성된 오픈소스의 좋은 예시임
Servo의 CSS 파서와 셀렉터 평가용 crate를 사용하고, 그 자체도 crates.io에 공개되어 다른 프로젝트에서 쉽게 가져다 쓸 수 있음- 그럼 Brave에는 CSS 엔진이 두 개 있는 셈인가 — 하나는 렌더링용, 하나는 차단용인가 궁금함
- Node/npm처럼 공급망 공격 위험이 있는 건 아닌지 걱정됨
Cargo가 이를 다르게 관리하는 메커니즘이 있는지 알고 싶음 - Rust 생태계는 사실상 런타임 라이브러리 공유를 없애버린 것 같음
대부분의 프로그램이 정적으로 링크되고, 같은 앱의 여러 프로세스조차 메모리 내 공통 코드를 공유하지 못함
이에 대한 내 생각을 블로그 글에 정리했음
-
Brave가 메모리를 110% 절약해도 나는 여전히 신뢰하지 않음
이미 여러 번 사용자 데이터를 건드린 전력이 있음- 한편 Firefox도 스스로의 신뢰도를 깎아먹는 중이라, 요즘 웹 브라우징엔 완벽한 해답이 없는 듯함
- 무슨 일을 말하는 건지 좀 더 구체적으로 설명해줄 수 있는지 궁금함
-
Brave의 상업적 요소(리워드, AI, 자체 업데이트 등)를 제거한 커뮤니티 포크가 아직 없다는 게 놀라움
이런 버전이 있다면 자유 리눅스 배포판에도 포함될 수 있을 텐데- 브라우저를 운영하는 데는 상당한 비용이 듦
Brave는 이를 해결하기 위해 Brave-origin이라는 프로젝트를 준비 중이며, Brendan Eich의 트윗에서 언급됨 - Helium이 이미 그런 역할을 하는 것 같음
반년째 일상 브라우저로 쓰고 있는데 꽤 안정적임
다만 1Password 통합이 좀 더 개선되면 좋겠음 - 나도 Brave를 쓰는 이유가 빠른 광고 차단 때문임
설치 시 지갑이나 AI 관련 옵션을 끄는 건 감수할 만함
하지만 Braveium 같은 포크가 나오면 바로 갈아탈 생각임 - 설치 직후 한 번의 클릭으로 BAT 토큰 기능을 숨길 수 있음
- 브라우저를 운영하는 데는 상당한 비용이 듦
-
162에서 104로 줄었다고 75% 감소라고 하는 건 계산이 이상함
-
Brave를 설치한 이후 iOS와 Mac 모두에서 광고를 전혀 보지 않음
내 사용 경험상 완벽하게 작동함 -
Brave가 세로 탭(Vertical Tabs) 을 지원한다는 걸 이제야 알게 됨
공식 블로그를 보고 Firefox에서 옮겨볼까 고민 중임 -
이번 변화가 개발자들이 다시 리소스 효율성을 의식하기 시작하는 계기가 되길 바람
Rust 코드가 많아질수록 AI가 더 잘 작성할 수 있을 거라 생각함- 이번 사례에서 Rust는 핵심 요인이 아닌 듯함
이전 버전도 Rust로 작성되어 있었음 - AI의 등장으로 인해 이제 사용자가 하드웨어 업그레이드로 성능을 보완하기 어려워졌음
이런 환경이 효율성 개선을 강제할 수도 있음 - Rust 자체가 메모리 효율성을 보장하는 필수 조건은 아닌 것 같음
- 광고 차단기는 이미 Rust로 작성되어 있었음
- 이번 사례에서 Rust는 핵심 요인이 아닌 듯함
-
Brave를 좋아하지만 모바일에서 확장 기능이 없어서 Firefox를 씀
Android에서는 Firefox가 내 주력 브라우저임- 나도 최근 Android에서 Firefox에서 Brave로 옮겼음
훨씬 빠르고, 확장은 없지만 다크 모드 강제와 광고 차단 등 내 용도엔 충분함 - 최근 Cromite를 발견했는데, Firefox나 Brave보다 빠르게 느껴짐
Kiwi 브라우저의 훌륭한 대체재임 - iOS에서는 Brave만 광고 차단이 가능하고 Firefox는 불가능함
OS마다 환경이 달라 통합된 세팅을 유지하기가 정말 어려움 - Brave의 모바일 확장 기능 지원이 곧 추가될 예정임
공식 트윗 참고
- 나도 최근 Android에서 Firefox에서 Brave로 옮겼음
-
탭당 45MiB라면 꽤 큰 수치임
요즘은 탭마다 별도 프로세스를 쓰니 무시하기 어려움- 그게 메인 광고 차단 프로세스의 fork된 복사본일 수도 있음
그렇다면 CoW 메모리 중복 제거의 이점을 얻을 수 있음 - 사이트 격리 덕분에 요즘은 탭당 여러 프로세스가 생성되기도 함
- 그게 메인 광고 차단 프로세스의 fork된 복사본일 수도 있음
-
Brave가 여전히 암호화폐 펌프앤덤프용 프런트인지 궁금함
- 그런 적은 한 번도 없었음