Brotli
Sehen Sie, was Brotli über gzip hinaus tut: ein eingebautes Wörterbuch häufiger Wörter, ein größeres Fenster und Qualitätsstufen, die Zeit gegen Größe tauschen.
- Fenster: bis 16 MB
- Wörterbuch: 122 KB
- Qualität: 0-11
- Codes je nach Kontext
Was bedeutet das?
- Eingebautes Wörterbuch: etwa 13.500 Wörter, die jeder Brotli-Decoder kennt, sodass der Encoder auf eines über seine Nummer verweisen kann.
- Qualität: die Aufwandseinstellung von Brotli von 0 bis 11. Höhere Stufen suchen gründlicher nach ein paar Prozent weniger und kosten ein Vielfaches an Zeit.
- Kontextmodellierung: Die Codetabelle wird danach gewählt, was direkt davor kam, denn auf einen Buchstaben folgen andere Zeichen als auf eine Ziffer oder ein Leerzeichen.
- Fenster: wie weit der Kompressor nach einer Wiederholung zurückschauen darf. 32 KB bei gzip, bis 16 MB bei Brotli.
Wörter aus dem Brotli-Wörterbuch
Fügen Sie einen beliebigen Text ein. Die Wörter aus dem Wörterbuch von Brotli werden markiert, und die Balken vergleichen die ersten 300 Bytes, wo das Wörterbuch am meisten zählt, mit dem ganzen Text.
Wird geladen...
Probieren Sie es aus: Laden Sie eine kurze HTML-Seite. Bei ein paar hundert Bytes entscheidet das Wörterbuch das Ergebnis, und Brotli liegt deutlich vor gzip.
Qualität, Größe und Zeit
Derselbe Text in jeder Qualität. Bis 4-6 sinkt die Größe schnell, während sich die Zeit kaum bewegt. 10 und 11 holen ein paar Prozent mehr heraus, für ein Vielfaches an Arbeit.
Wird geladen...
Was anders ist als bei gzip
Ein Fenster von bis zu 16 MB
gzip kopiert nur aus den letzten 32 KB. Brotli reicht viel weiter zurück und findet in einer großen Datei Wiederholungen, die gzip nicht mehr sieht.
Codes, die vom Kontext abhängen
Dasselbe Zeichen kann je nach den zwei Bytes davor einen anderen Code bekommen. Nach einem Buchstaben sind andere Zeichen wahrscheinlich als nach einer Ziffer oder einem Leerzeichen.
Ein Wörterbuch von Anfang an
gzip muss das erste Vorkommen jedes Wortes als Literale schreiben. Brotli kann stattdessen auf sein eingebautes Wörterbuch verweisen, deshalb gewinnt es bei kleinen Dateien am meisten.
So funktioniert es
Brotli nutzt dieselben zwei Ideen wie gzip, Kopien von früherem Text und Huffman-Codes, und fügt drei hinzu. Sein Fenster reicht 16 MB statt 32 KB weit, so findet es Wiederholungen weit hinten in einer großen Datei. Seine Codes hängen vom Kontext der vorherigen Bytes ab. Und es bringt ein Wörterbuch mit etwa 13.500 Wörtern mit, die in Webseiten und Code häufig sind, sodass schon das erste Vorkommen eines Wortes wie class oder function ein kurzer Verweis sein kann.
Wann es sich eignet
Brotli macht Text 15-25% kleiner als gzip, am meisten bei kleinen Dateien, wo das Wörterbuch die Arbeit macht. Jeder aktuelle Browser akzeptiert es über HTTPS. Komprimieren Sie statische Dateien vorab mit Qualität 11 und dynamische Antworten im laufenden Betrieb mit 4-6, wo es etwa so schnell wie gzip ist.