Googles Neuentwicklung Brotli soll für schnellere Ladezeiten sorgen

Brotli: Neuer Kompressionsalgorithmus fürs Web
Keine Kommentare

Websites und Online-Services werden immer anspruchsvoller, gleichzeitig steigt die Nachfrage nach Kompression exponentiell an. Da gerade für Mobile-Nutzer die Ladezeit ein entscheidendes Kriterium für den Besuch einer Webseite ist, sollten Entwickler auf die nötige Datenkompression besonderen Wert legen. Mit Brotli von Google steht nun ein neuer Kompressionsalgorithmus Open Source bereit.

Bereits vor zwei Jahren hat Google den Zopfli-Kompressionsalgorithmus veröffentlicht, der kompatibel zu gzip ist, zugleich aber eine bessere Kompression bietet. Durch die Verwendung einer alternativen Implementierung des Kompressionsalgorithmus Deflate werden die Daten bei einer Übertragung ins Web möglichst gering gehalten. Zopfli hat viel positives Feedback erhalten und wurde in viele Kompressionslösungen, wie PNG-Optimierer und die Vorbehandlung von Webcontent, integriert. Basierend auf diesen Verwendungsszenarien und weiterem aktuellen Bedarf an Kompressionsmöglichkeiten hat das Google Compression Team einen neuen Algorithmus entwickelt und Open Source gestellt: den Brotli-Kompressionsalgorithmus.

Introducing: Brotli

Der Kompressionsalgorithmus Brotli soll als Nachfolger von Zopfli im Web etabliert werden: Brotli folgt direkt auf Zopfli, weist aber eine zwischen 20 und 26 Prozent bessere Kompressionsrate auf. Der Grund dafür liegt laut Zoltán Szabadka, Software-Ingenieur bei Google, im völlig neuen Datenformat Brotlis. Während Zopfli Deflate-kompatibel ist, bricht Brotli mit der Abwärtskompatibilität früherer Algorithmen.

In Googles eigener Studie „Comparison of Brotli, Deflate, Zopfli, LZMA, LZHAM and Bzip2 Compression Algorithms“ kommen die Entwickler zu dem Schluss, dass Brotli fast genauso schnell wie zlibs Deflate-Implementierung ist. Gleichzeitig soll Brotli Daten des oft für Vergleiche herangezogenen Canterbury Corpus stärker als beispielsweise LZMA und bzip2 komprimieren. Die Studie erklärt außerdem, dass Brotli dem Kompressionsalgorithmus ein statisches Wörterbuch zufügt:

It contains 13,504 words or syllables of English, Spanish, Chinese, Hindi, Russian, and Arabic, as well as common phrases used in machine readable languages, particularly HTML and JavaScript. The total size of the static dictionary is 122,784 bytes. The static dictionary is extended by a mechanism of transforms that slightly change the words in the dictionary. A total of 1,633,984 sequences, although not all of them unique, can be constructed by using the 121 transforms.

Erreicht wird die höhere Datenkompression durch eine Kontextmodellierung zweiter Ordnung, die Wiederverwendung von Entropy Codes, ein größeres Speicherfenster für vergangene Daten und übergreifende Distribution Codes. Die Datenkompression durch Brotli führt laut Google zu wesentlich geringeren Datenmengen und schneller ladenden Sites.

[It is a] lossless compressed data format that compresses data using a combination of the LZ77 algorithm and Huffman coding, with efficiency comparable to the best currently available general-purpose compression methods.

Vor allem für Mobile-Nutzer dürfte Brotli interessant sein: Zusätzlich zur schnelleren Seitenladezeit könnten die User von einem geringeren Verbrauch des Datenvolumens und einer längeren Akkulaufzeit profitieren. Google hofft, dass die neue Technologie in Zukunft in alle Webbrowser integriert wird, damit alle Web-User aus den Vorteilen Brotlis Nutzen ziehen können. Das neue Format hat Google bei der IETF als Vorschlag zur Standardisierung eingereicht. Der Code steht auf GitHub zum Download bereit.

Aufmacherbild: Basket of freshly baked dinner rolls with tableware in background von Shutterstock / Urheberrecht: Marie C Fields

Unsere Redaktion empfiehlt:

Relevante Beiträge

X
- Gib Deinen Standort ein -
- or -