Skip to content

v2.0.2

Latest
Compare
Choose a tag to compare
@mjebrahimi mjebrahimi released this 08 Feb 13:23
· 55 commits to master since this release

What's Changed from v1.4.0 to v2.0.2

  • Many improvements were made including performance optimizations and bug fixes.

  • A great Performance Benchmark between different compression algorithms added.

  • Two new compressors added: EasyCompressor.Snappier and EasyCompressor.ZstdSharp

  • Shared instances added to each compressor for Ease-of-Use LZ4Compressor.Shared.Compress(bytes);

  • EasyCompressor.Zstd bug fixed and the latest version of zstd.dll (v1.5.5) was included in the package.

  • These packages deprecated: EasyCompressor.Zstd, EasyCompressor.Snappy and EasyCompressor.BrotliNET because their development has been stopped and newer and better packages have replaced them.

  • The default compression levels have changed and are carefully configured based on extensive benchmarking to ensure the highest level of efficiency and speed at a reasonable compression ratio.

  • Three new LZ4 binary compression modes added:

    • LZ4BinaryCompressionMode.Optimal (new Default mode)
      Default compression mode. (NOT compatible with other modes neither LegacyCompatible nor StreamCompatible modes)
      But it's fast and most efficient in memory allocation. (Best Performance overall - Fast_GCEfficient)
      It applies only to binary Compress/Decompress and does not affect Stream/Stream[Async] methods.

    • LZ4BinaryCompressionMode.LegacyCompatible (legacy Default mode)
      Legacy compatibility with old/legacy versions. (NOT compatible with other modes neither StreamCompatible nor Optimal modes)
      It's the fastest mode (a bit faster than Optimal) but less efficient in memory allocation. (Fast_GCInefficient)
      It prepends 4 bytes to the beginning of the array to define the original array length.
      It applies only to binary Compress/Decompress and does not affect Stream/Stream[Async] methods.

    • LZ4BinaryCompressionMode.StreamCompatible
      StreamCompatible which is compatible with Stream's output. (NOT compatible with other modes neither LegacyCompatible nor Optimal modes)
      It's slower than other modes but moderate in memory allocation. (Slow_GCModerated)

Full Changelog: 1.4.0...2.0.2