facebook/zstdPublic

Zstandard - Fast real-time compression algorithm

AI summary: A fast lossless compression algorithm targeting real-time scenarios with high compression ratios.

Stars
27.8K
+32 today
Forks
2.6K
Watchers
414
Open issues
249
Open PRs
116
Contributors
~413
Commits
11.5K
Branches
44

COtherCreated Jan 24, 2015Last push 9d agoLatest release v1.5.7+32 stars this week+32 this month

Star history

since Jan 8, 2023
010K20KJan 2023Mar 2024Jun 2025Sep 2026
27.8K stars as of Sep 9, 2026, tracked back to Jan 8, 2023. Historical curve reconstructed from public GitHub event archives, calibrated to the current total.

Contribution activity

commits per day, last 52 weeks
SepOctNovDecJanFebMarAprMayJunJulAugSepMonWedFri2025-09-14: 0 commits2025-09-15: 2 commits2025-09-16: 3 commits2025-09-17: 0 commits2025-09-18: 0 commits2025-09-19: 2 commits2025-09-20: 5 commits2025-09-21: 0 commits2025-09-22: 0 commits2025-09-23: 5 commits2025-09-24: 3 commits2025-09-25: 0 commits2025-09-26: 2 commits2025-09-27: 0 commits2025-09-28: 0 commits2025-09-29: 0 commits2025-09-30: 1 commit2025-10-01: 0 commits2025-10-02: 1 commit2025-10-03: 0 commits2025-10-04: 0 commits2025-10-05: 0 commits2025-10-06: 1 commit2025-10-07: 0 commits2025-10-08: 2 commits2025-10-09: 0 commits2025-10-10: 0 commits2025-10-11: 0 commits2025-10-12: 0 commits2025-10-13: 0 commits2025-10-14: 0 commits2025-10-15: 0 commits2025-10-16: 0 commits2025-10-17: 0 commits2025-10-18: 1 commit2025-10-19: 0 commits2025-10-20: 0 commits2025-10-21: 0 commits2025-10-22: 0 commits2025-10-23: 4 commits2025-10-24: 0 commits2025-10-25: 4 commits2025-10-26: 3 commits2025-10-27: 2 commits2025-10-28: 0 commits2025-10-29: 0 commits2025-10-30: 0 commits2025-10-31: 0 commits2025-11-01: 0 commits2025-11-02: 0 commits2025-11-03: 3 commits2025-11-04: 0 commits2025-11-05: 0 commits2025-11-06: 0 commits2025-11-07: 0 commits2025-11-08: 0 commits2025-11-09: 0 commits2025-11-10: 0 commits2025-11-11: 0 commits2025-11-12: 0 commits2025-11-13: 0 commits2025-11-14: 0 commits2025-11-15: 0 commits2025-11-16: 0 commits2025-11-17: 0 commits2025-11-18: 0 commits2025-11-19: 0 commits2025-11-20: 0 commits2025-11-21: 0 commits2025-11-22: 0 commits2025-11-23: 0 commits2025-11-24: 2 commits2025-11-25: 1 commit2025-11-26: 0 commits2025-11-27: 0 commits2025-11-28: 0 commits2025-11-29: 0 commits2025-11-30: 0 commits2025-12-01: 1 commit2025-12-02: 2 commits2025-12-03: 0 commits2025-12-04: 0 commits2025-12-05: 0 commits2025-12-06: 0 commits2025-12-07: 0 commits2025-12-08: 2 commits2025-12-09: 2 commits2025-12-10: 1 commit2025-12-11: 0 commits2025-12-12: 0 commits2025-12-13: 0 commits2025-12-14: 0 commits2025-12-15: 4 commits2025-12-16: 1 commit2025-12-17: 0 commits2025-12-18: 14 commits2025-12-19: 0 commits2025-12-20: 0 commits2025-12-21: 0 commits2025-12-22: 0 commits2025-12-23: 1 commit2025-12-24: 0 commits2025-12-25: 0 commits2025-12-26: 0 commits2025-12-27: 0 commits2025-12-28: 0 commits2025-12-29: 0 commits2025-12-30: 0 commits2025-12-31: 0 commits2026-01-01: 1 commit2026-01-02: 0 commits2026-01-03: 0 commits2026-01-04: 0 commits2026-01-05: 0 commits2026-01-06: 0 commits2026-01-07: 0 commits2026-01-08: 0 commits2026-01-09: 0 commits2026-01-10: 0 commits2026-01-11: 0 commits2026-01-12: 0 commits2026-01-13: 0 commits2026-01-14: 0 commits2026-01-15: 0 commits2026-01-16: 1 commit2026-01-17: 0 commits2026-01-18: 0 commits2026-01-19: 0 commits2026-01-20: 0 commits2026-01-21: 0 commits2026-01-22: 0 commits2026-01-23: 0 commits2026-01-24: 0 commits2026-01-25: 0 commits2026-01-26: 6 commits2026-01-27: 0 commits2026-01-28: 0 commits2026-01-29: 0 commits2026-01-30: 0 commits2026-01-31: 0 commits2026-02-01: 0 commits2026-02-02: 0 commits2026-02-03: 0 commits2026-02-04: 0 commits2026-02-05: 2 commits2026-02-06: 0 commits2026-02-07: 0 commits2026-02-08: 0 commits2026-02-09: 0 commits2026-02-10: 0 commits2026-02-11: 0 commits2026-02-12: 0 commits2026-02-13: 0 commits2026-02-14: 0 commits2026-02-15: 0 commits2026-02-16: 0 commits2026-02-17: 0 commits2026-02-18: 0 commits2026-02-19: 0 commits2026-02-20: 1 commit2026-02-21: 0 commits2026-02-22: 0 commits2026-02-23: 0 commits2026-02-24: 3 commits2026-02-25: 0 commits2026-02-26: 0 commits2026-02-27: 0 commits2026-02-28: 0 commits2026-03-01: 5 commits2026-03-02: 0 commits2026-03-03: 0 commits2026-03-04: 0 commits2026-03-05: 3 commits2026-03-06: 2 commits2026-03-07: 1 commit2026-03-08: 0 commits2026-03-09: 0 commits2026-03-10: 0 commits2026-03-11: 0 commits2026-03-12: 0 commits2026-03-13: 4 commits2026-03-14: 0 commits2026-03-15: 0 commits2026-03-16: 1 commit2026-03-17: 1 commit2026-03-18: 0 commits2026-03-19: 0 commits2026-03-20: 0 commits2026-03-21: 0 commits2026-03-22: 0 commits2026-03-23: 0 commits2026-03-24: 0 commits2026-03-25: 0 commits2026-03-26: 0 commits2026-03-27: 0 commits2026-03-28: 0 commits2026-03-29: 0 commits2026-03-30: 0 commits2026-03-31: 0 commits2026-04-01: 8 commits2026-04-02: 0 commits2026-04-03: 0 commits2026-04-04: 0 commits2026-04-05: 0 commits2026-04-06: 0 commits2026-04-07: 0 commits2026-04-08: 0 commits2026-04-09: 0 commits2026-04-10: 0 commits2026-04-11: 0 commits2026-04-12: 0 commits2026-04-13: 0 commits2026-04-14: 0 commits2026-04-15: 0 commits2026-04-16: 0 commits2026-04-17: 0 commits2026-04-18: 0 commits2026-04-19: 1 commit2026-04-20: 0 commits2026-04-21: 0 commits2026-04-22: 0 commits2026-04-23: 0 commits2026-04-24: 1 commit2026-04-25: 0 commits2026-04-26: 0 commits2026-04-27: 0 commits2026-04-28: 0 commits2026-04-29: 0 commits2026-04-30: 0 commits2026-05-01: 2 commits2026-05-02: 0 commits2026-05-03: 0 commits2026-05-04: 0 commits2026-05-05: 1 commit2026-05-06: 0 commits2026-05-07: 0 commits2026-05-08: 0 commits2026-05-09: 0 commits2026-05-10: 0 commits2026-05-11: 0 commits2026-05-12: 0 commits2026-05-13: 0 commits2026-05-14: 2 commits2026-05-15: 0 commits2026-05-16: 0 commits2026-05-17: 0 commits2026-05-18: 0 commits2026-05-19: 0 commits2026-05-20: 0 commits2026-05-21: 0 commits2026-05-22: 0 commits2026-05-23: 0 commits2026-05-24: 0 commits2026-05-25: 0 commits2026-05-26: 0 commits2026-05-27: 0 commits2026-05-28: 0 commits2026-05-29: 0 commits2026-05-30: 0 commits2026-05-31: 0 commits2026-06-01: 0 commits2026-06-02: 0 commits2026-06-03: 0 commits2026-06-04: 0 commits2026-06-05: 0 commits2026-06-06: 0 commits2026-06-07: 0 commits2026-06-08: 0 commits2026-06-09: 0 commits2026-06-10: 0 commits2026-06-11: 0 commits2026-06-12: 0 commits2026-06-13: 0 commits2026-06-14: 0 commits2026-06-15: 0 commits2026-06-16: 0 commits2026-06-17: 0 commits2026-06-18: 0 commits2026-06-19: 0 commits2026-06-20: 0 commits2026-06-21: 0 commits2026-06-22: 0 commits2026-06-23: 0 commits2026-06-24: 0 commits2026-06-25: 0 commits2026-06-26: 0 commits2026-06-27: 0 commits2026-06-28: 0 commits2026-06-29: 0 commits2026-06-30: 0 commits2026-07-01: 4 commits2026-07-02: 0 commits2026-07-03: 0 commits2026-07-04: 0 commits2026-07-05: 0 commits2026-07-06: 0 commits2026-07-07: 0 commits2026-07-08: 0 commits2026-07-09: 0 commits2026-07-10: 0 commits2026-07-11: 0 commits2026-07-12: 0 commits2026-07-13: 0 commits2026-07-14: 0 commits2026-07-15: 0 commits2026-07-16: 0 commits2026-07-17: 0 commits2026-07-18: 0 commits2026-07-19: 0 commits2026-07-20: 0 commits2026-07-21: 0 commits2026-07-22: 0 commits2026-07-23: 0 commits2026-07-24: 0 commits2026-07-25: 0 commits2026-07-26: 0 commits2026-07-27: 0 commits2026-07-28: 0 commits2026-07-29: 0 commits2026-07-30: 0 commits2026-07-31: 0 commits2026-08-01: 6 commits2026-08-02: 0 commits2026-08-03: 0 commits2026-08-04: 0 commits2026-08-05: 0 commits2026-08-06: 0 commits2026-08-07: 0 commits2026-08-08: 0 commits2026-08-09: 0 commits2026-08-10: 3 commits2026-08-11: 0 commits2026-08-12: 0 commits2026-08-13: 0 commits2026-08-14: 0 commits2026-08-15: 0 commits2026-08-16: 0 commits2026-08-17: 0 commits2026-08-18: 0 commits2026-08-19: 0 commits2026-08-20: 0 commits2026-08-21: 0 commits2026-08-22: 1 commit2026-08-23: 0 commits2026-08-24: 0 commits2026-08-25: 0 commits2026-08-26: 2 commits2026-08-27: 3 commits2026-08-28: 0 commits2026-08-29: 0 commits2026-08-30: 0 commits2026-08-31: 0 commits2026-09-01: 6 commits2026-09-02: 0 commits2026-09-03: 0 commits2026-09-04: 0 commits2026-09-05: 0 commits2026-09-06: 0 commits2026-09-07: 0 commits2026-09-08: 0 commits2026-09-09: 0 commits2026-09-10: 0 commits2026-09-11: 0 commits2026-09-12: 0 commits
146 commits in the last yearLessMore

Signals and awards

derived from tracked data
  • Widely adopted

    27,784 stars

  • Battle-tested

    11 years of history

  • Community-driven

    ~413 contributors

  • Well documented

    High community health score

  • Continuous integration

    Automated checks passing

What zstd does

Zstandard (zstd) is a highly efficient, lossless compression algorithm designed by Facebook for real-time applications. It matches or exceeds zlib-level compression ratios while offering significantly faster compression and decompression speeds. The algorithm achieves this performance through a rapid entropy stage backed by the Huff0 and Finite State Entropy (FSE) libraries. Furthermore, it supports training dictionaries on small data sets to massively improve compression ratios for tiny files. The repository provides a reference C library as well as a command-line utility capable of handling various archive formats.

Zstandard is intended for software engineers, database administrators, and systems architects who need to optimize storage or bandwidth. It is particularly useful for those building high-performance networking applications or managing large-scale data infrastructure.

  • High speed: Delivers extremely fast compression and decompression rates suitable for real-time network and disk I/O.
  • Dictionary training: Allows training custom dictionaries on small data samples to drastically improve compression efficiency.
  • Format interoperability: Provides a command-line utility that can also produce and decode gzip, xz, and lz4 files.
  • Stable format: Ensures long-term reliability with a stable format officially documented in RFC8878.
  • Dual licensing: Available under both BSD and GPLv2 licenses to support wide adoption in various commercial and open-source projects.

Where teams use it

Real-time network compression

Compress data streams on the fly to reduce bandwidth consumption without introducing significant latency.

Optimizing database storage

Reduce the disk footprint of large databases by compressing stored blocks efficiently before writing to disk.

Compressing small payloads

Utilize dictionary training to effectively compress tiny JSON payloads or RPC messages in distributed systems.

Log file archiving

Archive massive server logs quickly to save storage space while maintaining the ability to decompress rapidly for analysis.

Getting started: cmake -S . -B build-cmake cmake --build build-cmake

README

dev branch

Zstandard

Zstandard, or zstd as short version, is a fast lossless compression algorithm, targeting real-time compression scenarios at zlib-level and better compression ratios. It's backed by a very fast entropy stage, provided by Huff0 and FSE library.

Zstandard's format is stable and documented in RFC8878. Multiple independent implementations are already available. This repository represents the reference implementation, provided as an open-source dual BSD OR GPLv2 licensed C library, and a command line utility producing and decoding .zst, .gz, .xz and .lz4 files. Should your project require another programming language, a list of known ports and bindings is provided on Zstandard homepage.

Development branch status:

Build Status Build status Build status Fuzzing Status

Benchmarks

For reference, several fast compression algorithms were tested and compared on a desktop featuring a Core i7-9700K CPU @ 4.9GHz and running Ubuntu 24.04 (Linux 6.8.0-53-generic), using lzbench, an open-source in-memory benchmark by @inikep compiled with gcc 14.2.0, on the Silesia compression corpus.

Compressor name Ratio Compression Decompress.
zstd 1.5.7 -1 2.896 510 MB/s 1550 MB/s
brotli 1.1.0 -1 2.883 290 MB/s 425 MB/s
zlib 1.3.1 -1 2.743 105 MB/s 390 MB/s
zstd 1.5.7 --fast=1 2.439 545 MB/s 1850 MB/s
quicklz 1.5.0 -1 2.238 520 MB/s 750 MB/s
zstd 1.5.7 --fast=4 2.146 665 MB/s 2050 MB/s
lzo1x 2.10 -1 2.106 650 MB/s 780 MB/s
lz4 1.10.0 2.101 675 MB/s 3850 MB/s
snappy 1.2.1 2.089 520 MB/s 1500 MB/s
lzf 3.6 -1 2.077 410 MB/s 820 MB/s

The negative compression levels, specified with --fast=#, offer faster compression and decompression speed at the cost of compression ratio.

Zstd can also offer stronger compression ratios at the cost of compression speed. Speed vs Compression trade-off is configurable by small increments. Decompression speed is preserved and remains roughly the same at all settings, a property shared by most LZ compression algorithms, such as zlib or lzma.

The following tests were run on a server running Linux Debian (Linux version 4.14.0-3-amd64) with a Core i7-6700K CPU @ 4.0GHz, using lzbench, an open-source in-memory benchmark by @inikep compiled with gcc 7.3.0, on the Silesia compression corpus.

Compression Speed vs Ratio Decompression Speed
Compression Speed vs Ratio Decompression Speed

A few other algorithms can produce higher compression ratios at slower speeds, falling outside of the graph. For a larger picture including slow modes, click on this link.

The case for Small Data compression

Previous charts provide results applicable to typical file and stream scenarios (several MB). Small data comes with different perspectives.

The smaller the amount of data to compress, the more difficult it is to compress. This problem is common to all compression algorithms, and reason is, compression algorithms learn from past data how to compress future data. But at the beginning of a new data set, there is no "past" to build upon.

To solve this situation, Zstd offers a training mode, which can be used to tune the algorithm for a selected type of data. Training Zstandard is achieved by providing it with a few samples (one file per sample). The result of this training is stored in a file called "dictionary", which must be loaded before compression and decompression. Using this dictionary, the compression ratio achievable on small data improves dramatically.

The following example uses the github-users sample set, created from github public API. It consists of roughly 10K records weighing about 1KB each.

Compression Ratio Compression Speed Decompression Speed
Compression Ratio Compression Speed Decompression Speed

These compression gains are achieved while simultaneously providing faster compression and decompression speeds.

Training works if there is some correlation in a family of small data samples. The more data-specific a dictionary is, the more efficient it is (there is no universal dictionary). Hence, deploying one dictionary per type of data will provide the greatest benefits. Dictionary gains are mostly effective in the first few KB. Then, the compression algorithm will gradually use previously decoded content to better compress the rest of the file.

Dictionary compression How To:

  1. Create the dictionary

    zstd --train FullPathToTrainingSet/* -o dictionaryName

  2. Compress with dictionary

    zstd -D dictionaryName FILE

  3. Decompress with dictionary

    zstd -D dictionaryName --decompress FILE.zst

Build instructions

make is the main build system of this project. It is the reference, and other build systems are periodically updated to stay compatible. However, small drifts and feature differences can be present, since perfect synchronization is difficult. For this reason, when your build system allows it, prefer employing make.

Makefile

Assuming your system supports standard make (or gmake), just invoking make in root directory generates zstd cli at root, and also generates libzstd into lib/.

Other standard targets include:

  • make install : install zstd cli, library and man pages
  • make check : run zstd, test its essential behavior on local platform

The Makefile follows the GNU Standard Makefile conventions, allowing staged install, standard compilation flags, directory variables and command variables.

For advanced use cases, specialized flags which control binary generation and installation paths are documented in lib/README.md for the libzstd library and in programs/README.md for the zstd CLI.

cmake

A cmake project generator is available for generating Makefiles or other build scripts to create the zstd binary as well as libzstd dynamic and static libraries. The repository root now contains a minimal CMakeLists.txt that forwards to build/cmake, so you can configure the project with a standard cmake -S . invocation, while the historical cmake -S build/cmake entry point remains fully supported.

cmake -S . -B build-cmake
cmake --build build-cmake

By default, CMAKE_BUILD_TYPE is set to Release.

Support for Fat (Universal2) Output

zstd can be built and installed with support for both Apple Silicon (M1/M2) as well as Intel by using CMake's Universal2 support. To perform a Fat/Universal2 build and install use the following commands:

cmake -S . -B build-cmake-debug -G Ninja -DCMAKE_OSX_ARCHITECTURES="x86_64;x86_64h;arm64"
cd build-cmake-debug
ninja
sudo ninja install

Meson

A Meson project is provided within build/meson. Follow build instructions in that directory.

You can also take a look at .travis.yml file for an example about how Meson is used to build this project.

Note that default build type is release.

VCPKG

You can build and install zstd vcpkg dependency manager:

git clone https://github.com/Microsoft/vcpkg.git
cd vcpkg
./bootstrap-vcpkg.sh
./vcpkg integrate install
./vcpkg install zstd

The zstd port in vcpkg is kept up to date by Microsoft team members and community contributors. If the version is out of date, please create an issue or pull request on the vcpkg repository.

Conan

You can install pre-built binaries for zstd or build it from source using Conan. Use the following command:

conan install --requires="zstd/[*]" --build=missing

The zstd Conan recipe is kept up to date by Conan maintainers and community contributors. If the version is out of date, please create an issue or pull request on the ConanCenterIndex repository.

Visual Studio (Windows)

Going into build directory, you will find additional possibilities:

  • Projects for Visual Studio 2008 and 2010.
    • VS2010 project is compatible with VS2012, VS2013, VS2015 and VS2017.
  • Automated build scripts for Visual compiler by @KrzysFR, in build/VS_scripts, which will build zstd cli and libzstd library without any need to open Visual Studio solution.
  • It is now recommended to generate Visual Studio solutions from cmake

Buck

You can build the zstd binary via buck by executing: buck build programs:zstd from the root of the repo. The output binary will be in buck-out/gen/programs/.

Bazel

You can integrate zstd into your Bazel project by using the module hosted on the Bazel Central Repository.

Testing

You can run quick local smoke tests by running make check. If you can't use make, execute the playTest.sh script from the src/tests directory. Two env variables $ZSTD_BIN and $DATAGEN_BIN are needed for the test script to locate the zstd and datagen binary. For information on CI testing, please refer to TESTING.md.

Status

Zstandard is deployed within Meta and many other large cloud infrastructures, to compress humongous amounts of data in various formats and use cases. It is also continuously fuzzed for security issues by Google's oss-fuzz program.

License

Zstandard is dual-licensed under BSD OR GPLv2.

Contributing

The dev branch is the one where all contributions are merged before reaching release. Direct commit to release are not permitted. For more information, please read CONTRIBUTING.

View on GitHub

Releases and announcements

68 total
  1. Zstandard v1.5.7v1.5.7Feb 19, 20258.9M downloads

    Zstandard `v1.5.7` is a significant release, featuring over 500 commits accumulated over the past year. This update brings enhancements across various domains, including performance, stability, and functionality, and is particularly recommended for 32-bit users due to a bug fix detailed below. _edit_: man pages were not properly updated in this package, and are still pointing to `v1.5.6`. If you want the `v1.5.7` version, they are updated in `dev` branch, and can be cherry-picked using commit 6af3842118ea5325480b403213b2a9fbed3d3d74. Alternatively, they can also be built locally using `make manual` and `make -C programs man`. ## Performance Enhancements ### Enhanced Compression Speed for Small Data Blocks The compression speed for small data blocks has been notably improved at fast compression levels, thanks to contributions from @TocarIP, further extended in #4165. Below are benchmark results illustrating the performance improvements for level 1 compression on the Silesia corpus, segmented into different block sizes: | Block Size | v1.5.6 | v1.5.7 | Improv. | | --- | --- | --- | --- | | 4 KB | 280 MB/s | 310 MB/s | +10% | | 8 KB | 328 MB/s | 364 MB/s | +11% |

  2. Zstandard v1.5.6 - Chrome Editionv1.5.6Mar 30, 20247.1M downloads

    This release highlights the deployment of Google [Chrome 123](https://developer.chrome.com/blog/new-in-chrome-123), introducing `zstd-encoding` for Web traffic, offered as a preferable option for compression of dynamic contents. With limited web server support for `zstd-encoding` due to its novelty, we are launching an updated Zstandard version to facilitate broader adoption. ### Improved latency (time to first delivered byte) for web pages Using `zstd` compression for large documents over the Internet, data is segmented into smaller blocks. This is crucial for applications like Chrome that process parts of documents as they arrive. However, blocks can have a size of up to 128 KB by default, which can be large for congested networks. To mitigate such scenarios and improve "time to first delivered byte", `libzstd` introduces the new [parameter `ZSTD_c_targetCBlockSize`](https://github.com/facebook/zstd/blob/v1.5.6/lib/zstd.h#L394), enabling the division of blocks into even smaller segments, resulting in desirable latency reduction, notably beneficial in areas with more congested network infrastructure. This parameter must be set explicitly, because it is not free: it incurs a

  3. Zstandard v1.5.5v1.5.5Apr 4, 20235.5M downloads

    This is a quick fix release. The primary focus is to correct a rare corruption bug in high compression mode, detected by @danlark1 . The probability to generate such a scenario by random chance is extremely low. It evaded months of continuous fuzzer tests, due to the number and complexity of simultaneous conditions required to trigger it. Nevertheless, @danlark1 from Google shepherds such a humongous amount of data that he managed to detect a reproduction case (corruptions are detected thanks to the checksum), making it possible for @terrelln to investigate and fix the bug. Thanks ! While the probability might be very small, corruption issues are nonetheless very serious, so an update to this version is highly recommended, especially if you employ high compression modes (levels 16+). When the issue was detected, there were a number of other improvements and minor fixes already in the making, hence they are also present in this release. Let’s detail the main ones. ### Improved memory usage and speed for the `--patch-from` mode `V1.5.5` introduces memory-mapped dictionaries, by @daniellerozenblit, for both posix [#3486](https://github.com/facebook/zstd/pull/3486) and wind

  4. Zstandard v1.5.4v1.5.4Feb 10, 2023603.2K downloads

    Zstandard `v1.5.4` is a pretty big release benefiting from one year of work, spread over > 650 commits. It offers significant performance improvements across multiple scenarios, as well as new features (detailed below). There is a crop of little bug fixes too, a few ones targeting the 32-bit mode are important enough to make this release a recommended upgrade. ### Various Speed improvements This release has accumulated a number of scenario-specific improvements, that cumulatively benefit a good portion of installed base in one way or another. Among the easier ones to describe, the repository has received several contributions for `arm` optimizations, notably from @JunHe77 and @danlark1. And @terrelln has improved decompression speed for non-x64 systems, including `arm`. The combination of this work is visible in the following example, using an M1-Pro (`aarch64` architecture) : | cpu | function | corpus | `v1.5.2` | `v1.5.4` | Improvement | | --- | --- | --- | --- | --- | --- | | M1 Pro | decompress | `silesia.tar` | 1370 MB/s | 1480 MB/s | + 8% | | Galaxy S22 | decompress | `silesia.tar` | 1150 MB/s | 1200 MB/s | + 4% | Middle compression levels (5-12) receive some

  5. Zstandard v1.5.2v1.5.2Jan 20, 20223.6M downloads

    Zstandard v1.5.2 is a bug-fix release, addressing issues that were raised with the v1.5.1 release. In particular, as a side-effect of the inclusion of assembly code in our source tree, binary artifacts were being marked as needing an executable stack on non-amd64 architectures. This release corrects that issue. More context is available in #2963. This release also corrects a performance regression that was introduced in v1.5.0 that slows down compression of very small data when using the streaming API. Issue #2966 tracks that topic. In addition there are a number of smaller improvements and fixes. ## Full Changelist * Fix zstd-static output name with MINGW/Clang by @MehdiChinoune in https://github.com/facebook/zstd/pull/2947 * storeSeq & mlBase : clarity refactoring by @Cyan4973 in https://github.com/facebook/zstd/pull/2954 * Fix mini typo by @fwessels in https://github.com/facebook/zstd/pull/2960 * Refactor offset+repcode sumtype by @Cyan4973 in https://github.com/facebook/zstd/pull/2962 * meson: fix MSVC support by @eli-schwartz in https://github.com/facebook/zstd/pull/2951 * fix performance issue in scenario #2966 (part 1) by @Cyan4973 in https://github.com/fa

Commits per week

last 52 weeks
190Week of 2025-09-14: 12 commitsWeek of 2025-09-21: 10 commitsWeek of 2025-09-28: 2 commitsWeek of 2025-10-05: 3 commitsWeek of 2025-10-12: 1 commitsWeek of 2025-10-19: 8 commitsWeek of 2025-10-26: 5 commitsWeek of 2025-11-02: 3 commitsWeek of 2025-11-09: 0 commitsWeek of 2025-11-16: 0 commitsWeek of 2025-11-23: 3 commitsWeek of 2025-11-30: 3 commitsWeek of 2025-12-07: 5 commitsWeek of 2025-12-14: 19 commitsWeek of 2025-12-21: 1 commitsWeek of 2025-12-28: 1 commitsWeek of 2026-01-04: 0 commitsWeek of 2026-01-11: 1 commitsWeek of 2026-01-18: 0 commitsWeek of 2026-01-25: 6 commitsWeek of 2026-02-01: 2 commitsWeek of 2026-02-08: 0 commitsWeek of 2026-02-15: 1 commitsWeek of 2026-02-22: 3 commitsWeek of 2026-03-01: 11 commitsWeek of 2026-03-08: 4 commitsWeek of 2026-03-15: 2 commitsWeek of 2026-03-22: 0 commitsWeek of 2026-03-29: 8 commitsWeek of 2026-04-05: 0 commitsWeek of 2026-04-12: 0 commitsWeek of 2026-04-19: 2 commitsWeek of 2026-04-26: 2 commitsWeek of 2026-05-03: 1 commitsWeek of 2026-05-10: 2 commitsWeek of 2026-05-17: 0 commitsWeek of 2026-05-24: 0 commitsWeek of 2026-05-31: 0 commitsWeek of 2026-06-07: 0 commitsWeek of 2026-06-14: 0 commitsWeek of 2026-06-21: 0 commitsWeek of 2026-06-28: 4 commitsWeek of 2026-07-05: 0 commitsWeek of 2026-07-12: 0 commitsWeek of 2026-07-19: 0 commitsWeek of 2026-07-26: 6 commitsWeek of 2026-08-02: 0 commitsWeek of 2026-08-09: 3 commitsWeek of 2026-08-16: 1 commitsWeek of 2026-08-23: 5 commitsWeek of 2026-08-30: 6 commitsWeek of 2026-09-06: 0 commitsSep 14, 2025Sep 6, 2026
146 commits in the last 52 weeks.

When work happens

weekday and hour
SunMonTueWedThuFriSat036912151821Sun 0:00 — 20 commitsSun 1:00 — 25 commitsSun 2:00 — 16 commitsSun 3:00 — 8 commitsSun 4:00 — 3 commitsSun 5:00 — 7 commitsSun 6:00 — 2 commitsSun 7:00 — 3 commitsSun 8:00 — 6 commitsSun 9:00 — 5 commitsSun 10:00 — 24 commitsSun 11:00 — 21 commitsSun 12:00 — 25 commitsSun 13:00 — 14 commitsSun 14:00 — 27 commitsSun 15:00 — 24 commitsSun 16:00 — 18 commitsSun 17:00 — 22 commitsSun 18:00 — 14 commitsSun 19:00 — 19 commitsSun 20:00 — 19 commitsSun 21:00 — 24 commitsSun 22:00 — 29 commitsSun 23:00 — 35 commitsMon 0:00 — 31 commitsMon 1:00 — 24 commitsMon 2:00 — 19 commitsMon 3:00 — 15 commitsMon 4:00 — 8 commitsMon 5:00 — 62 commitsMon 6:00 — 26 commitsMon 7:00 — 14 commitsMon 8:00 — 25 commitsMon 9:00 — 35 commitsMon 10:00 — 83 commitsMon 11:00 — 132 commitsMon 12:00 — 125 commitsMon 13:00 — 119 commitsMon 14:00 — 141 commitsMon 15:00 — 158 commitsMon 16:00 — 141 commitsMon 17:00 — 158 commitsMon 18:00 — 110 commitsMon 19:00 — 55 commitsMon 20:00 — 47 commitsMon 21:00 — 34 commitsMon 22:00 — 32 commitsMon 23:00 — 20 commitsTue 0:00 — 31 commitsTue 1:00 — 27 commitsTue 2:00 — 13 commitsTue 3:00 — 6 commitsTue 4:00 — 2 commitsTue 5:00 — 7 commitsTue 6:00 — 9 commitsTue 7:00 — 11 commitsTue 8:00 — 33 commitsTue 9:00 — 72 commitsTue 10:00 — 85 commitsTue 11:00 — 147 commitsTue 12:00 — 120 commitsTue 13:00 — 142 commitsTue 14:00 — 169 commitsTue 15:00 — 191 commitsTue 16:00 — 189 commitsTue 17:00 — 157 commitsTue 18:00 — 91 commitsTue 19:00 — 34 commitsTue 20:00 — 44 commitsTue 21:00 — 36 commitsTue 22:00 — 25 commitsTue 23:00 — 34 commitsWed 0:00 — 28 commitsWed 1:00 — 34 commitsWed 2:00 — 14 commitsWed 3:00 — 10 commitsWed 4:00 — 5 commitsWed 5:00 — 7 commitsWed 6:00 — 5 commitsWed 7:00 — 14 commitsWed 8:00 — 24 commitsWed 9:00 — 48 commitsWed 10:00 — 84 commitsWed 11:00 — 144 commitsWed 12:00 — 141 commitsWed 13:00 — 125 commitsWed 14:00 — 151 commitsWed 15:00 — 172 commitsWed 16:00 — 199 commitsWed 17:00 — 164 commitsWed 18:00 — 99 commitsWed 19:00 — 64 commitsWed 20:00 — 47 commitsWed 21:00 — 26 commitsWed 22:00 — 26 commitsWed 23:00 — 21 commitsThu 0:00 — 20 commitsThu 1:00 — 27 commitsThu 2:00 — 19 commitsThu 3:00 — 12 commitsThu 4:00 — 6 commitsThu 5:00 — 5 commitsThu 6:00 — 7 commitsThu 7:00 — 16 commitsThu 8:00 — 11 commitsThu 9:00 — 46 commitsThu 10:00 — 84 commitsThu 11:00 — 138 commitsThu 12:00 — 158 commitsThu 13:00 — 125 commitsThu 14:00 — 161 commitsThu 15:00 — 208 commitsThu 16:00 — 192 commitsThu 17:00 — 157 commitsThu 18:00 — 108 commitsThu 19:00 — 51 commitsThu 20:00 — 38 commitsThu 21:00 — 24 commitsThu 22:00 — 37 commitsThu 23:00 — 22 commitsFri 0:00 — 31 commitsFri 1:00 — 10 commitsFri 2:00 — 16 commitsFri 3:00 — 12 commitsFri 4:00 — 4 commitsFri 5:00 — 4 commitsFri 6:00 — 4 commitsFri 7:00 — 10 commitsFri 8:00 — 16 commitsFri 9:00 — 55 commitsFri 10:00 — 80 commitsFri 11:00 — 121 commitsFri 12:00 — 132 commitsFri 13:00 — 97 commitsFri 14:00 — 138 commitsFri 15:00 — 174 commitsFri 16:00 — 162 commitsFri 17:00 — 139 commitsFri 18:00 — 84 commitsFri 19:00 — 59 commitsFri 20:00 — 26 commitsFri 21:00 — 25 commitsFri 22:00 — 17 commitsFri 23:00 — 11 commitsSat 0:00 — 30 commitsSat 1:00 — 27 commitsSat 2:00 — 15 commitsSat 3:00 — 10 commitsSat 4:00 — 1 commitsSat 5:00 — 4 commitsSat 6:00 — 3 commitsSat 7:00 — 4 commitsSat 8:00 — 7 commitsSat 9:00 — 9 commitsSat 10:00 — 19 commitsSat 11:00 — 32 commitsSat 12:00 — 31 commitsSat 13:00 — 19 commitsSat 14:00 — 11 commitsSat 15:00 — 30 commitsSat 16:00 — 17 commitsSat 17:00 — 19 commitsSat 18:00 — 18 commitsSat 19:00 — 25 commitsSat 20:00 — 14 commitsSat 21:00 — 26 commitsSat 22:00 — 24 commitsSat 23:00 — 25 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.
DateListRankStars gained
Sep 9, 2026weekly#8+79
Sep 8, 2026weekly#8+79
  • Genymobile/scrcpy

    Display and control your Android device

    149.3K stars · C

  • microsoft/PowerToys

    Microsoft PowerToys is a collection of utilities that supercharge productivity and customization on Windows

    138.5K stars · C

  • colbymchenry/codegraph

    Pre-indexed code knowledge graph, auto syncs on code changes, for Claude Code, Codex, Gemini, Cursor, OpenCode, AntiGravity, Kiro, CoPilot, and Hermes Agent — fewer tokens, fewer tool calls, 100% local

    70.1K stars · C

  • DeusData/codebase-memory-mcp

    High-performance code intelligence MCP server. Indexes codebases into a persistent knowledge graph — average repo in milliseconds. 158 languages, sub-ms queries, 99% fewer tokens. Single static binary, zero dependencies.

    42.8K stars · C

  • JustVugg/colibri

    Run frontier MoE models on hardware you already own — pure C, zero deps, experts streamed from disk. Tiny engine, immense model. 🐦

    27.4K stars · C

  • antirez/ds4

    DeepSeek 4 Flash and PRO local inference engine for Metal, CUDA and ROCm

    22.2K stars · C