Google's New Brotli Compression Is 25% Better
Written by Alex Armstrong   
Wednesday, 23 September 2015

Compression is less important these days for storage, but it is still a valuable way of saving bandwidth. Google has offered improved compression algorithms in the past and now we have Brotli, which claims to be even better. 

Unlike Google's first compression algorithm, Zopfli, Brotli isn't Deflate compatible but it too is named after a Swiss bakery product. Brotli just means "small bread" in Swiss German - which is almost appropriate.

Brotli is the subject of an internet draft and it is open sourced under the Apache Licence 2. It makes use of a new file format and this means that the tools needed to encode and decode it are also new - there is nothing backward compatible about it. 

Technically Brotli is a modification on the standard LZ77 algorithm and Huffman coding. To quote the announcement:

"The higher data density is achieved by a 2nd order context modeling, re-use of entropy codes, larger memory window of past data and joint distribution codes."

It also makes use of a static dictionary  of 13504 items from English, Spanish, Chinese, Hindi, Russian, Arabic and from HTML and JavaScript. This coupled with transforms that modify the words in the dictionary allows it to represent 1633984 sequences. 

In tests it performs well on compression ration and on decompression speed:

brotli1

For use on the web, say, it is not only size that matters but speed of decompression. A small file can be downloaded quickly and uses less bandwidth, but if a mobile device has to use lots of CPU cycles to decompress it then battery life suffers. 

You are fairly sure to encounter Brotli in the future because it is already part of version 2 of the Web Open Font Format. 

 

brotl21

 

Brotli is available to play with from its GitHub site. 

Banner


CheerpJ WebAssembly-based JVM Version 4.1 Is Here
12/06/2025

If you thought that legacy apps are not used anymore in this day and age, think again. With pre-4 version CheerpJ you could run legacy Java apps on browsers. With version 4+ you can run modern ap [ ... ]



Android Development Is A Mess
18/06/2025

I've been saying that Android development is a mess for a few years and as a result I don't write about it anymore, but I do still suffer the actual task. Now I seem to have some backup for my positio [ ... ]


More News

 

pico book

 

Comments




or email your comment to: comments@i-programmer.info

 

 

Last Updated ( Wednesday, 23 September 2015 )