Google has launched the implementation of a new data compression algorithm Zopfli. The presented implementation of the compression system is compatible with the library zlib, gzip Provides support containers and deflate, and can act as a transparent replacement zlib.
The code is written in C and licensed under the Apache 2.0. Once the code is presented for compression, decompression can be done already existing implementations zlib. Zopfli also works at the bit stream with the methods of gzip, Zip, PNG and compression system requests HTTP.
Algorithm Zopfli notable higher compression ratio and can compress data by an average of 3-8% better zlib, while unpacking may be performed by any application that supports Deflate. Used in the method is Zopfli resursoemok and is based on an iterative modeling of entropy using the algorithm of finding the shortest path in the graph for the optimal representation of the compressed sequence from the set of options.
The downside of increasing the compression ratio without losing compatibility is a significant increase in the complexity of the algorithm that compresses about 100 times slower than zlib. Time to unpack archives created using the algorithm is identical to the other implementations Zopfli zlib.
As the use of Zopfli is a situation requiring a single data compression, followed by a multiple-impact results over the network, for example, when distributing compressed static content on the Web. Higher compression to reduce the required disk storage space, speed up data transfer and to reduce the delay in loading web-pages. Especially the effect of reducing the size of transmitted data can be visible in mobile networks, including speaking in saving energy and reducing the payment for the accepted traffic.