Developer Toolbox

Brotli

Se vad Brotli gör utöver gzip: en inbyggd ordlista med vanliga ord, ett större fönster och kvalitetsnivåer som byter tid mot storlek.

  • Fönster: upp till 16 MB
  • Ordlista: 122 KB
  • Kvalitet: 0-11
  • Koder beror på sammanhang
Vad betyder det här?
  • Inbyggd ordlista: cirka 13 500 ord som varje Brotli-avkodare känner till, så att kodaren kan hänvisa till ett ord med dess nummer.
  • Kvalitet: Brotlis inställning för ansträngning, från 0 till 11. Högre nivåer letar hårdare efter några procent mindre och kostar många gånger mer.
  • Kontextmodellering: kodtabellen väljs efter det som kom precis innan, eftersom andra tecken följer på en bokstav än på en siffra eller ett mellanslag.
  • Fönster: hur långt bakåt komprimeraren får leta efter en upprepning. 32 KB i gzip, upp till 16 MB i Brotli.

Ord från Brotlis ordlista

Klistra in valfri text. Orden som finns i Brotlis ordlista markeras, och staplarna jämför de första 300 byten, där ordlistan betyder mest, med hela texten.

Indata

Laddar...

Prova det här: Läs in en kort HTML-sida. På några hundra byte avgör ordlistan resultatet, och Brotli drar ifrån gzip ordentligt.

Kvalitet, storlek och tid

Samma text på varje kvalitet. Upp till 4-6 sjunker storleken snabbt medan tiden knappt rör sig. 10 och 11 ger några procent till för många gånger så mycket arbete.

Laddar...

Hur det skiljer sig från gzip

Ett fönster på upp till 16 MB

gzip kopierar bara från de senaste 32 KB. Brotli når mycket längre, så i en stor fil hittar det upprepningar som gzip inte längre ser.

Koder som beror på sammanhanget

Samma tecken kan få olika kod beroende på de två byten före det. Efter en bokstav är andra tecken sannolika än efter en siffra eller ett mellanslag.

En ordlista från början

gzip måste skriva första förekomsten av varje ord som literaler. Brotli kan i stället hänvisa till sin inbyggda ordlista, och därför vinner det mest på små filer.

Så fungerar det

Brotli använder samma två idéer som gzip, kopior av tidigare text och Huffmankoder, och lägger till tre. Fönstret når 16 MB i stället för 32 KB, så det hittar upprepningar långt bak i en stor fil. Koderna beror på sammanhanget, de föregående byten. Och det har med sig en ordlista med cirka 13 500 ord som är vanliga i webbsidor och kod, så att även första gången ett ord som class eller function dyker upp kan det bli en kort referens.

När det är ett bra val

Brotli gör text 15-25 % mindre än gzip, mest på små filer där ordlistan gör jobbet. Alla aktuella webbläsare tar emot det över HTTPS. Komprimera statiska filer i förväg med kvalitet 11 och dynamiska svar i farten med 4-6, där det är ungefär lika snabbt som gzip.