Computing Adler32 Checksums at 41 GB/s

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • fpng

    Super fast C++ .PNG writer/reader

  • This was actually considered, and other libraries do ignore checksums, or at least have options to:

    https://github.com/richgel999/fpng/issues/9

  • oss-nvjpg

    Hardware-accelerated JPEG decoding on the Nvidia Tegra X1

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • wuffs

    Wrangling Untrusted File Formats Safely

  • https://github.com/google/wuffs/blob/main/std/adler32/common...

    Like the fpng implementation, it's SSE (128-bit registers), but the inner loop eats 32 bytes at a time, not 16.

    "Wuffs’ Adler-32 implementation is around 6.4x faster (11.3GB/s vs 1.76GB/s) than the one from zlib-the-library", which IIUC is roughly comparable to the article's defer32.

  • libdeflate

    Heavily optimized library for DEFLATE/zlib/gzip compression and decompression

  • Note that libdeflate has used essentially the same method since 2016 (https://github.com/ebiggers/libdeflate/blob/v0.4/lib/adler32...), though I recently switched it to use a slightly different method (https://github.com/ebiggers/libdeflate/blob/v1.12/lib/x86/ad...) that performs more consistently across different families of x86 CPUs.

  • zlib-ng

    zlib replacement with optimizations for "next generation" systems.

  • zlib-ng also has adler32 implementations optimized for various architectures: https://github.com/zlib-ng/zlib-ng

    Might be interesting to benchmark their implementation too to see how it compares.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
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