Developer Toolbox

Brotli

Zobacz, co Brotli robi ponad gzip: wbudowany słownik popularnych słów, większe okno i poziomy jakości, które wymieniają czas na rozmiar.

  • Okno: do 16 MB
  • Słownik: 122 KB
  • Jakość: 0-11
  • Kody zależne od kontekstu
Co to znaczy?
  • Wbudowany słownik: około 13 500 słów, które zna każdy dekoder Brotli, więc enkoder może wskazać słowo jego numerem.
  • Jakość: ustawienie wysiłku Brotli od 0 do 11. Wyższe poziomy szukają dokładniej, żeby zyskać kilka procent, kosztem wielokrotnie dłuższej pracy.
  • Modelowanie kontekstu: wybór tablicy kodów zależnie od tego, co było tuż wcześniej, bo po literze pojawiają się inne znaki niż po cyfrze czy spacji.
  • Okno: jak daleko wstecz kompresor może szukać powtórzenia. W gzip 32 KB, w Brotli do 16 MB.

Słowa ze słownika Brotli

Wklej dowolny tekst. Słowa, które ma słownik Brotli, są zaznaczone, a paski porównują pierwsze 300 bajtów, gdzie słownik znaczy najwięcej, z całym tekstem.

Wejście

Ładowanie...

Spróbuj: Wczytaj krótką stronę HTML. Przy kilkuset bajtach o wyniku decyduje słownik i Brotli wyraźnie wyprzedza gzip.

Jakość, rozmiar i czas

Ten sam tekst przy każdej jakości. Do 4-6 rozmiar spada szybko, a czas prawie stoi w miejscu; 10 i 11 dają jeszcze kilka procent za wielokrotnie dłuższą pracę.

Ładowanie...

Czym różni się od gzip

Okno do 16 MB

gzip kopiuje tylko z ostatnich 32 KB. Brotli sięga znacznie dalej, więc w dużym pliku znajduje powtórzenia, których gzip już nie widzi.

Kody zależne od kontekstu

Ten sam znak może dostać inny kod zależnie od dwóch bajtów przed nim. Po literze prawdopodobne są inne znaki niż po cyfrze czy spacji.

Słownik od pierwszego bajtu

gzip musi zapisać pierwsze wystąpienie każdego słowa literałami. Brotli może zamiast tego odwołać się do wbudowanego słownika, dlatego najwięcej zyskuje na małych plikach.

Jak to działa

Brotli korzysta z tych samych dwóch pomysłów co gzip, kopii wcześniejszego tekstu i kodów Huffmana, i dodaje trzy kolejne. Jego okno sięga 16 MB zamiast 32 KB, więc w dużym pliku znajduje powtórzenia daleko wstecz. Jego kody zależą od kontekstu poprzednich bajtów. Ma też słownik około 13 500 słów typowych dla stron i kodu, więc nawet pierwsze wystąpienie słowa takiego jak class czy function może być krótkim odwołaniem.

Kiedy warto go użyć

Brotli zmniejsza tekst o 15-25% bardziej niż gzip, najbardziej na małych plikach, gdzie pracuje słownik. Przyjmuje go każda obecna przeglądarka przez HTTPS. Pliki statyczne kompresuj z góry z jakością 11, a odpowiedzi dynamiczne w locie z jakością 4-6, gdzie jest mniej więcej tak szybki jak gzip.