Skip to content

1.1.0

Compare
Choose a tag to compare
@brantburnett brantburnett released this 12 Mar 13:27
· 24 commits to main since this release
e3c9834

Breaking Changes

This release no longer includes explicit support for the unsupported runtimes .NET Core 3.0/3.1 or .NET 5.0. These runtimes are now supported via the .NET Standard 2.0 target. While they should still function, it is untested and the lack of hardware intrinsic support will most likely result in degraded performance compared to 1.0.

What's Changed

  • All use of GC pinning and fixed buffers has been replaced with byte references and System.Runtime.CompilerServices.Unsafe. This should have less impact on garbage collection performance, especially on systems with continuous Snappy load.
  • Reduced heap allocations
  • Ported some performance improvements from the reference implementation that were added since the original port
  • Lots more performance tweaks

Performance

This release sees a consistent improvement in both compression and decompression performance across all supported frameworks on my Core i7-10850H CPU, especially on decompression. On .NET 6, the time was reduced by 18% when compressing 64KB of HTML and 52% when decompressing. In some cases, the decompression time is reduced by as much as 66%.

ChartGo
ChartGo (1)

Changelog

Full Changelog: release/1.0.0...release/1.1.0