Brotli
Veja o que o Brotli faz além do gzip: um dicionário embutido de palavras comuns, uma janela maior e níveis de qualidade que trocam tempo por tamanho.
- Janela: até 16 MB
- Dicionário: 122 KB
- Qualidade: 0-11
- Códigos conforme o contexto
O que significam esses termos?
- Dicionário embutido: cerca de 13.500 palavras que todo decodificador Brotli conhece, então o codificador pode se referir a uma pelo seu número.
- Qualidade: o nível de esforço do Brotli, de 0 a 11. Níveis mais altos procuram com mais empenho para ganhar alguns pontos percentuais, a um custo muitas vezes maior.
- Modelagem de contexto: escolher a tabela de códigos conforme o que veio logo antes, já que depois de uma letra aparecem caracteres diferentes dos que aparecem depois de um dígito ou de um espaço.
- Janela: até onde o compressor pode olhar para trás em busca de uma repetição. 32 KB no gzip, até 16 MB no Brotli.
Palavras do dicionário do Brotli
Cole qualquer texto. As palavras que o dicionário do Brotli contém ficam marcadas, e as barras comparam os primeiros 300 bytes, onde o dicionário mais importa, com o texto inteiro.
Carregando...
Experimente: Carregue uma página HTML curta. Em algumas centenas de bytes, o dicionário decide o resultado e o Brotli fica bem à frente do gzip.
Qualidade, tamanho e tempo
O mesmo texto em cada qualidade. Até 4-6 o tamanho cai rápido e o tempo quase não muda; 10 e 11 ganham mais alguns pontos percentuais com muitas vezes mais trabalho.
Carregando...
Em que ele difere do gzip
Uma janela de até 16 MB
O gzip só copia dos últimos 32 KB. O Brotli vai muito mais longe, então em um arquivo grande ele encontra repetições que o gzip já não enxerga.
Códigos que dependem do contexto
O mesmo caractere pode ganhar um código diferente conforme os dois bytes que vêm antes dele. Depois de uma letra são prováveis caracteres diferentes dos que vêm depois de um dígito ou de um espaço.
Um dicionário desde o início
O gzip precisa escrever a primeira ocorrência de cada palavra como literais. O Brotli pode remeter ao seu dicionário embutido, e é por isso que ele ganha mais em arquivos pequenos.
Como funciona
O Brotli usa as mesmas duas ideias do gzip, cópias de texto anterior e códigos de Huffman, e acrescenta mais três. Sua janela chega a 16 MB em vez de 32 KB, então ele encontra repetições bem lá atrás em um arquivo grande. Seus códigos dependem do contexto dos bytes anteriores. E ele traz um dicionário de cerca de 13.500 palavras comuns em páginas web e em código, então até a primeira ocorrência de uma palavra como class ou function pode ser uma referência curta.
Quando é uma boa escolha
O Brotli deixa o texto 15-25% menor que o gzip, principalmente em arquivos pequenos, onde o dicionário faz o trabalho. Todos os navegadores atuais o aceitam via HTTPS. Comprima arquivos estáticos antecipadamente com qualidade 11 e respostas dinâmicas em tempo real com 4-6, onde ele é mais ou menos tão rápido quanto o gzip.