Skip to content
Awesome CompressionCompression Algorithm Learning Map
This site contains learning notes on compression and coding algorithms. The initial release focuses on ZSTD, LZMA, BSC, LZ4, zlib, and Brotli, aiming to put algorithm concepts, engineering tradeoffs, and C++ API examples in a single maintainable knowledge base.
  1. Start with "Compression Basics" and "Coding Models" to build shared knowledge of dictionary matching, entropy coding, context modeling, and block sorting.
  2. Then compare ZSTD, LZMA, LZ4, zlib, Brotli, and BSC horizontally to form basic intuition about "speed / ratio / memory / compatibility".
  3. Finally, map abstract concepts to real API calls and output results via minimal programs in examples/cpp.

Algorithm Map

DirectionRepresentativeWhat You'll Learn
General-purpose modernZSTDHow to tune wide range between ratio and throughput
High-ratio archivingLZMABenefits and costs of large window, range coding, strong modeling
Ultra-fast low-latencyLZ4Why many systems trade ratio for throughput
Compatibility-firstzlibWhy DEFLATE ecosystem persists
Web text compressionBrotliStatic dictionary and text-scenario optimization
Transform / block sortingBSC"Transform first, then encode" approach

Learning Entry Points

Compression Basics
Understand entropy, dictionary, sliding window, block sorting, context modeling, and checksums.
Start Learning
Algorithm Notes
Organized notes on core ideas and usage boundaries of ZSTD, LZMA, BSC, LZ4, zlib, Brotli.
View Algorithms
C++ Examples
Learn compression library APIs through minimal runnable programs.
Run Examples