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 estes termos?
- Dicionário embutido: cerca de 13 500 palavras que todos os descodificadores Brotli conhecem, por isso o codificador pode referir-se a uma pelo seu número.
- Qualidade: o nível de esforço do Brotli, de 0 a 11. Os níveis mais altos procuram com mais afinco para ganhar alguns pontos percentuais, a um custo muitas vezes maior.
- Modelação de contexto: escolher a tabela de códigos conforme o que veio imediatamente antes, já que depois de uma letra surgem caracteres diferentes dos que surgem depois de um algarismo ou de um espaço.
- Janela: até onde o compressor pode olhar para trás à procura 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 conta, com o texto inteiro.
A carregar...
Experimente: Carregue uma página HTML curta. Com algumas centenas de bytes é o dicionário que 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 desce depressa e o tempo quase não mexe; 10 e 11 ganham mais alguns pontos percentuais com muitas vezes mais trabalho.
A carregar...
Em que difere do gzip
Uma janela de até 16 MB
O gzip só copia dos últimos 32 KB. O Brotli chega muito mais longe, por isso num ficheiro grande encontra repetições que o gzip já não consegue ver.
Códigos que dependem do contexto
O mesmo carácter pode receber um código diferente conforme os dois bytes que o antecedem. Depois de uma letra são prováveis caracteres diferentes dos que surgem depois de um algarismo ou de um espaço.
Um dicionário desde o início
O gzip tem de escrever a primeira ocorrência de cada palavra como literais. O Brotli pode remeter para o seu dicionário embutido, e é por isso que ganha mais em ficheiros 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. A sua janela chega aos 16 MB em vez de 32 KB, por isso encontra repetições muito para trás num ficheiro grande. Os seus códigos dependem do contexto dos bytes anteriores. E traz um dicionário de cerca de 13 500 palavras comuns em páginas web e em código, por isso 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% mais pequeno do que o gzip, sobretudo em ficheiros pequenos, onde é o dicionário que faz o trabalho. Todos os navegadores atuais o aceitam por HTTPS. Comprima os ficheiros estáticos antecipadamente com qualidade 11 e as respostas dinâmicas em tempo real com 4-6, onde é mais ou menos tão rápido como o gzip.