png crate gets an ultrafast compression mode, up to 4x faster decompression

This page summarizes the projects mentioned and recommended in the original post on /r/rust

Our great sponsors
  • Revelo Payroll - Free Global Payroll designed for tech teams
  • Onboard AI - Learn any GitHub repo in 59 seconds
  • SonarLint - Clean code begins in your IDE with SonarLint
  • InfluxDB - Collect and Analyze Billions of Data Points in Real Time
  • image

    Encoding and decoding images in Rust (by image-rs)

    png is the de-facto standard Rust crate for reading and writing PNG images, used e.g. by the image crate.

  • image-png

    PNG decoding and encoding library in pure Rust

    Encoding images to PNG with the "fast" compression mode is now an order of magnitude faster. This is achieved using a custom Zlib compression implementation that leverages assumptions about the patterns in PNG data to get reasonable compression ratios at phenomenal speeds.

  • Revelo Payroll

    Free Global Payroll designed for tech teams. Building a great tech team takes more than a paycheck. Zero payroll costs, get AI-driven insights to retain best talent, and delight them with amazing local benefits. 100% free and compliant.

  • resvg

    An SVG rendering library.

    For example, when converting vector SVG images to raster PNG images with resvg, most of the time is spent compressing the PNG image. This is a lot of wasted work if we just want to read the image instead of transferring it over the network! The fast compression mode eliminates all this wasted work, resulting in huge performance and efficiency gains.

  • fdeflate

    Fast deflate implementation specialized for PNG image data

    The changes have been tested for regressions on 80,000 images, and the new Zlib implementation has been roundtrip-fuzzed to ensure correctness. The png crate as a whole also added roundtrip fuzzing. So we're quite confident in the correctness of these changes, but if you find anything amiss, please open an issue on Github.

  • fpng

    Super fast C++ .PNG writer/reader

    When the QOI format was first announced it wasn't clear that was even possible while keeping PNG format compatibility. But the fpng and fpnge C/C++ libraries showed it was, and today you can take advantage of those advances in a general purpose PNG library in Rust!

  • fpnge

    Demo of a fast PNG encoder.

    When the QOI format was first announced it wasn't clear that was even possible while keeping PNG format compatibility. But the fpng and fpnge C/C++ libraries showed it was, and today you can take advantage of those advances in a general purpose PNG library in Rust!

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts