- O mecanismo de bloqueio de anúncios baseado em Rust foi amplamente reformulado, reduzindo o uso de memória em 75%
- A nova arquitetura adota o formato FlatBuffers para armazenar cerca de 100 mil filtros padrão em formato binário zero-copy
- Com isso, há uma economia padrão de cerca de 45 MB de memória em todas as plataformas (desktop, iOS e Android)
- Além disso, foram aplicadas diversas otimizações de desempenho em gerenciamento de memória, velocidade de correspondência, compartilhamento de recursos e eficiência de armazenamento
- Com uma arquitetura de mecanismo nativo que não é afetada pelas limitações do Manifest V3, o navegador reforça ao mesmo tempo o desempenho e a proteção de privacidade
Visão geral da reformulação do mecanismo de bloqueio de anúncios do Brave
- O Brave reformulou completamente o mecanismo adblock baseado em Rust (adblock-rust), reduzindo o uso de memória em 75%
- Com essa melhoria, há uma economia padrão de cerca de 45 MB de memória em todas as plataformas (Android, iOS e desktop)
- Ao usar listas de filtros adicionais, a redução pode ser ainda maior
- O mecanismo aprimorado foi aplicado na versão Brave v1.85, com otimizações adicionais previstas para a v1.86
- Segundo a comparação de capturas de tela, o uso de memória caiu de 162 MB para 104 MB entre as versões v1.79.118 → v1.85.118
Transição para uma estrutura baseada em FlatBuffers
- Conforme anunciado pelo Brave em junho e outubro de 2025, o mecanismo foi refatorado com base em FlatBuffers
- FlatBuffers é um formato de armazenamento compacto e eficiente, substituindo estruturas de dados Rust baseadas em heap, como Vec, HashMap e struct
- Cerca de 100 mil filtros de bloqueio de anúncios foram convertidos para um formato binário zero-copy, maximizando a eficiência de memória
Itens detalhados de otimização de desempenho
- Melhoria no gerenciamento de memória: uso de vetores alocados na pilha para reduzir em 19% as alocações de memória e encurtar em 15% o tempo de build
- Aumento da velocidade de correspondência: tokenização de padrões comuns de expressões regulares para melhorar em 13% o desempenho de correspondência de filtros
- Compartilhamento de recursos: compartilhamento de recursos entre várias instâncias do mecanismo adblock, economizando cerca de 2 MB no desktop
- Eficiência de armazenamento: otimização de 30% na memória usada para armazenar recursos internos
Desempenho do navegador e vantagens estruturais
- A economia de mais de 45 MB de memória é uma grande vantagem para usuários de dispositivos móveis e hardware mais antigo
- O Brave já melhora o desempenho da web ao bloquear anúncios e rastreadores, e com essa reformulação conseguiu também tornar seus próprios recursos de proteção mais leves
- O mecanismo de bloqueio de anúncios do Brave tem uma estrutura nativa integrada ao navegador,
- ao contrário de bloqueadores baseados em extensões, ele não é afetado por limitações de APIs do navegador nem por sandboxing
- portanto, não é afetado pelas mudanças do Manifest V3
Significado técnico e organizacional
- Esse ganho de desempenho é o resultado de meses de engenharia em colaboração entre a equipe de desempenho e a equipe de privacidade
- Com isso, o Brave melhora significativamente a eficiência do navegador e continua oferecendo recursos de proteção de privacidade de alto nível para mais de 100 milhões de usuários
1 comentários
Opiniões do Hacker News
O motor de bloqueio de anúncios do Brave é um bom exemplo de open source escrito em Rust
Ele usa o parser de CSS do Servo e crates para avaliação de seletores, e também é publicado no crates.io, então outros projetos podem reaproveitá-lo facilmente
Queria saber se o Cargo tem algum mecanismo diferente para lidar com isso
A maioria dos programas é vinculada estaticamente, e nem mesmo vários processos do mesmo app conseguem compartilhar código comum na memória
Organizei minhas ideias sobre isso neste post de blog
Mesmo que o Brave economize 110% de memória, eu ainda não confio nele
Já houve vários episódios em que mexeu com dados dos usuários
Surpreende que ainda não exista um fork comunitário que remova os elementos comerciais do Brave (recompensas, IA, atualizador próprio etc.)
Uma versão assim poderia até ser incluída em distribuições Linux livres
O Brave está se preparando para resolver isso com um projeto chamado Brave-origin, mencionado neste tweet do Brendan Eich
Estou usando como navegador principal há meio ano e ele tem sido bem estável
Só queria uma integração melhor com o 1Password
Desativar as opções de carteira e IA na instalação é um incômodo aceitável
Mas, se surgir um fork como Braveium, eu troco na hora
Dizer que caiu de 162 para 104 e chamar isso de redução de 75% é uma conta estranha
Desde que instalei o Brave, não vejo nenhum anúncio nem no iOS nem no Mac
Na minha experiência, funciona perfeitamente
Só agora descobri que o Brave suporta abas verticais (Vertical Tabs)
Vi o blog oficial e estou pensando em migrar do Firefox
Sidebery(link) e Tree Style Tabs(link) já implementam abas verticais muito bem há bastante tempo
Além disso, desde o Firefox v136 há suporte nativo a abas verticais
Espero que essa mudança faça os desenvolvedores voltarem a pensar em eficiência de recursos
Acho que, quanto mais código em Rust houver, melhor a IA vai conseguir escrevê-lo
A versão anterior já era escrita em Rust
Esse ambiente talvez force melhorias de eficiência
Gosto do Brave, mas no mobile uso Firefox porque faltam extensões
No Android, o Firefox é meu navegador principal
É bem mais rápido e, mesmo sem extensões, forçar modo escuro e o bloqueio de anúncios já bastam para o meu uso
É um ótimo substituto para o Kiwi Browser
Como o ambiente muda de um sistema operacional para outro, é muito difícil manter uma configuração unificada
Veja este tweet oficial
45 MiB por aba é um número bem alto
Hoje em dia cada aba usa um processo separado, então não dá para ignorar
Nesse caso, poderia aproveitar os benefícios de deduplicação de memória com CoW
Ainda fico me perguntando se o Brave continua sendo um front para pump and dump de criptomoeda