Brotli и Zlib в .NET: избегаем лишних аллокаций
В статье рассказывается, что BrotliStream удобен для файлов, но при работе с памятью или по сети приводит к лишним аллокациям. Есть низкоуровневые BrotliEncoder/BrotliDecoder на Span<t для работы без GC. Также описана приватная реализация Zlib в рантайме .NET. Нативный Zlib/GZip API для .NET — готовый код и бенчмарки
Обзор: автор адаптировал ZlibEncoder/ZlibDecoder через System.IO.Compression.Native (P/Invoke) и показал альтернативу на ICSharpCode.SharpZipLib. В статье есть гисты, примеры использования и подробные бенчмарки Brotli, Zlib и GZip.
Читать подробнее: https://habr.com/ru/articles/979400/
#ru @dot_net_c_sharp | Другие наши каналы
Post #4843
1.31K
- ✍ 1