Brotli: open source compression from Google

google_compIt’s not the first time Google is experimenting with compression algorithms. Around 2 years ago they announced Zopfli which got incorporated into compression solutions like PNG optimizers and web content preprocessing. Google also came up with SPDY which uses gzip and deflate compressed headers, though SPDY didn’t get such wide acceptance and is superseded by HTTP2.

Brotli (meaning small bread in Swiss German) is the new compression algorithm from Google with a goal to reduce data transfer time and optimize more recent requirements like web fonts compression. The compression statistics are interesting.

Brotli implements a completely new specification and delivers 20–26% higher compression ratio than Zopfli. The speed is comparable to zlib’s deflate algorithm and compression is denser than existing formats like LZMA and bzip2. The higher data density comes from a 2nd order context modeling, re-use of entropy codes, larger memory window of past data and joint distribution codes. It also implements a LZ77 algorithm variant and Huffman coding. Brotli is lossless.

As we mentioned earlier, the smaller compressed size will result in faster data transfer (like page loading) and need less storage space. Some immediate effects would be lower bandwidth usage (and hence lesser charges) and longer battery life.

Brotli is released as open source under the Apache License 2.0. You can browse the code on GitHub.

Also check out Tone, another innovation from Google.

Leave a Reply

Your email address will not be published. Required fields are marked *