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


Meta Releases OpenSource Podcast Generating Tool
28/11/2024

Meta has released an open source project that can be used to automatically convert a PDF file into a podcast. Meta says Notebook Llama can be considered an open-source version of Google's NotebookLM.

 [ ... ]



Apache Fury Adds Optimized Serializers For Scala
31/10/2024

Apache Fury has been updated to add GraalVM native images and with optimized serializers for Scala collection. The update also reduces Scala collection serialization cost via the use of  encoding [ ... ]


More News

 

espbook

 

Comments




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

 

 

Last Updated ( Wednesday, 23 September 2015 )