Google Releases New Compression Algorithm


Recommended Posts

  Quote
The Zopfli Compression Algorithm is a new open sourced general purpose data compression library that got its name from a Swiss bread recipe. It is an implementation of the Deflate compression algorithm that creates a smaller output size compared to previous techniques. The smaller compressed size allows for better space utilization, faster data transmission, and lower web page load latencies. Furthermore, the smaller compressed size has additional benefits in mobile use, such as lower data transfer fees and reduced battery use. The higher data density is achieved by using more exhaustive compression techniques, which make the compression a lot slower, but do not affect the decompression speed. The exhaustive method is based on iterating entropy modeling and a shortest path search algorithm to find a low bit cost path through the graph of all possible deflate representations.

The output generated by Zopfli is typically 3?8% smaller (PDF warning) compared to zlib at maximum compression, and we believe that Zopfli represents the state of the art in Deflate-compatible compression. Zopfli is written in C for portability. It is a compression-only library; existing software can decompress the data. Zopfli is bit-stream compatible with compression used in gzip, Zip, PNG, HTTP requests, and others.

Due to the amount of CPU time required --- 2 to 3 orders of magnitude more than zlib at maximum quality ? Zopfli is best suited for applications where data is compressed once and sent over a network many times, for example, static content for the web. By open sourcing Zopfli, thus allowing webmasters to better optimize the size of frequently accessed static content, we hope to make the Internet a bit faster for all of us.

Source: http://googledevelopers.blogspot.com/2013/02/compress-data-more-densely-with-zopfli.html
  UXGaurav said:
Wonder how it does against LZMA and LZMA2 considering both reasonable speed and compression ratio.
This is about DEFLATE-compatible compressions, so LZMA/LZMA2 don't enter into the picture.

But yes, LZMA/LZMA2 traditionally has superior compression ratio. Too bad that still not used in HTTP transfer-encoding.

I read the PDF. It's decent, but has a very specific use case. That is: One-time compression and multiple decompressions for static data (they do acknowledge this). Compressing files using this algo is epic slow compared to gzip for the same file (talking 5 seconds for gzip compared to 7 minutes for the same file using Zopfli). It'll be very good for conserving bandwidth on, say, file distribution sites though where CPU time is inconsequential compared to bandwidth requirements.

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • Couldn't a custom power plan help to park the non x3d ccd's? Then that would solve this latency/performance issues people are having with the x3d chips?
    • So is Ubuntu and Fedora (with GNOME). It's a welcome move and those that need X11 can easily install as pointed out in the article it but that won't stop a loud minority from whining of course. Funny but It will actually be easier to install X11 on Ubuntu then enable Flatpak support/Flathub and use them.
    • End of an era? Kubuntu is removing default support for X11 in new installs by David Uzondu X11, the old window system whose days have long felt numbered, just saw another one of its major supporters head for the exit. Kubuntu has decided to follow its parent distro's lead, making its next release, version 25.10, a Wayland-only affair for fresh installs. It seems many Linux developers see Wayland as the future. Just recently, Linux Mint started working to improve support for the protocol in Cinnamon, tackling lingering issues with keyboard layouts and input methods. You can even see the progress in KDE's development, where an upgrade to Wayland PiP is planned for KDE Plasma 6.5. So what's the logic behind dropping a session that, for the most part, still works? According to Kubuntu's Rik Mills, the team wants to "rip off this sticking plaster" now, in an interim release, rather than ###### off a lot of people by doing it in the next Long-Term Support version, 26.04. The developers feel that maintaining code for the aging X11 system holds back progress on security and new features that Wayland can enable more easily. Plus, supporting two separate display servers is a massive undertaking. Of course, this change might have some people worried, but relax; all is not lost if you still need the old session. If you're running hardware that acts up, like some older NVIDIA cards, or who relies on an ancient application that doesn't play nicely with the XWayland compatibility layer, you can still get your familiar session back. Just enter the following command in your terminal: sudo apt install plasma-session-x11 Once that command finishes, the X11 session will appear as an option on the login screen, so you can carry on as before. As OMGUbuntu notes, not everyone in the Ubuntu family is following its lead just yet. Other official flavors like Xubuntu, Ubuntu Budgie, and Ubuntu Cinnamon are expected to keep offering an X11 session on their default installs for this cycle.
    • Mangohud hasn't been built into "Steam Deck", it has been built into SteamOS. I understand that your goal is to try and praise MS for a simple feature that everyone else has, but we are comparing OS vs OS. Hardware does not have anything "built-in". Software does. Like it or not, SteamOS has it "built-in". And it is far superior to XBOX game bar's information.
  • Recent Achievements

    • First Post
      Johnny Mrkvička earned a badge
      First Post
    • Week One Done
      viraltui earned a badge
      Week One Done
    • One Month Later
      serfegyed earned a badge
      One Month Later
    • Dedicated
      firey earned a badge
      Dedicated
    • Dedicated
      fettermanj earned a badge
      Dedicated
  • Popular Contributors

    1. 1
      +primortal
      642
    2. 2
      Michael Scrip
      221
    3. 3
      ATLien_0
      217
    4. 4
      Steven P.
      143
    5. 5
      Xenon
      142
  • Tell a friend

    Love Neowin? Tell a friend!